A Flutter plugin for the Android Play Install Referrer API. The plugins throws an exception on iOS and on Android if Google Play Services are not available.
Get Google Play Install Referrer Details:
ReferrerDetails referrerDetails = await AndroidPlayInstallReferrer.installReferrer;
For more information see https://developer.android.com/google/play/installreferrer/library.html
Run this command:
With Flutter:
$ flutter pub add android_play_install_referrer
This will add a line like this to your package's pubspec.yaml (and run an implicit flutter pub get
):
dependencies:
android_play_install_referrer: ^0.3.0
Alternatively, your editor might support flutter pub get
. Check the docs for your editor to learn more.
Now in your Dart code, you can use:
import 'package:android_play_install_referrer/android_play_install_referrer.dart';
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:android_play_install_referrer/android_play_install_referrer.dart';
void main() => runApp(MyApp());
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
String _referrerDetails = '';
@override
void initState() {
super.initState();
initReferrerDetails();
}
// Platform messages are asynchronous, so we initialize in an async method.
Future<void> initReferrerDetails() async {
String referrerDetailsString;
// Platform messages may fail, so we use a try/catch PlatformException.
try {
ReferrerDetails referrerDetails = await AndroidPlayInstallReferrer.installReferrer;
referrerDetailsString = referrerDetails.toString();
} catch (e) {
referrerDetailsString = 'Failed to get referrer details: $e';
}
// If the widget was removed from the tree while the asynchronous platform
// message was in flight, we want to discard the reply rather than calling
// setState to update our non-existent appearance.
if (!mounted) return;
setState(() {
_referrerDetails = referrerDetailsString;
});
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('Plugin example app'),
),
body: Center(
child: Text('Referrer Details: $_referrerDetails'),
),
),
);
}
}
Download details:
Author: lschmierer
Source: https://github.com/lschmierer/android_play_install_referrer