Flutter - Kurulum
Gereklilikler
iOS 10.0 veya üzeri
Android API level 21 veya üzeri
Kurulum
Projenizin
pubspec.yaml
dosyasını alttaki şekilde güncelleyindependencies: relateddigital_flutter: ^0.2.5
flutter pub get
komutunu çalıştırınPaketi içeri aktarın
import 'package:relateddigital_flutter/relateddigital_flutter.dart';
Platform Entegrasyonları
Android
project/build.gradle
dosyanızdakirepositories
bölümlerine alttaki satırları ekleyin.maven {url 'https://jitpack.io'} maven { url 'http://developer.huawei.com/repo/' allowInsecureProtocol(true) }
project/build.gradle
dosyanızdakidependencies
bölümüne alttaki satırları ekleyin.classpath 'com.google.gms:google-services:4.3.10' classpath 'com.huawei.agconnect:agcp:1.6.5.300' // skip if your app does not support HMS
app/build.gradle
dosyanızın en altına alttaki satırları ekleyin.apply plugin: 'com.google.gms.google-services' apply plugin: 'com.huawei.agconnect' // skip if your app does not support HMS
app/build.gradle
dosyanızındefaultConfig
alanındakiminSdkVersion
değerini21
olarak düzenleyin.app/build.gradle
dosyanızdakitargetSdkVersion
vecompileSdkVersion
değerini32
olarak düzenleyin.AndroidManifest.xml
dosyanızın<application></application>
etiketleri arasına alttaki satırları ekleyin.<service android:name="euromsg.com.euromobileandroid.service.EuroFirebaseMessagingService" android:exported="false"> <intent-filter> <action android:name="com.google.firebase.MESSAGING_EVENT" /> </intent-filter> </service> <!-- skip if your app does not support HMS --> <service android:name="euromsg.com.euromobileandroid.service.EuroHuaweiMessagingService" android:exported="false"> <intent-filter> <action android:name="com.huawei.push.action.MESSAGING_EVENT" /> </intent-filter> </service>
AndroidManifest.xml
dosyanıza aşağıdaki meta veri parametrelerini ekleyin<meta-data android:name="GoogleAppAlias" android:value="google-app-alias" /> <meta-data android:name="HuaweiAppAlias" android:value="huawei-app-alias" /> <meta-data android:name="VisilabsOrganizationID" android:value="VisilabsOrganizationID" /> <meta-data android:name="VisilabsSiteID" android:value="VisilabsSiteID" /> <meta-data android:name="VisilabsSegmentURL" android:value="http://lgr.visilabs.net" /> <meta-data android:name="VisilabsDataSource" android:value="VisilabsDataSource" /> <meta-data android:name="VisilabsRealTimeURL" android:value="http://rt.visilabs.net" /> <meta-data android:name="VisilabsChannel" android:value="Android" /> <meta-data android:name="VisilabsGeofenceURL" android:value="http://s.visilabs.net/geojson" /> <meta-data android:name="VisilabsGeofenceEnabled" android:value="true" /> <!-- Parameters below are optional --> <meta-data android:name="VisilabsRequestTimeoutInSeconds" android:value="30" /> <meta-data android:name="VisilabsRESTURL" android:value="VisilabsRESTURL" /> <meta-data android:name="VisilabsEncryptedDataSource" android:value="VisilabsEncryptedDataSource" /> <meta-data android:name="VisilabsTargetURL" android:value="http://s.visilabs.net/json" /> <meta-data android:name="VisilabsActionURL" android:value="http://s.visilabs.net/actjson" />
Firebase panelinden alacağınız
google-services.json
dosyasını projenizinandroid/app
dizinine ekleyin.Uygulamanızda
HMS
desteği varsaagconnect-services.json
dosyasınıandroid/app
dizinine ekleyin.
iOS
Podfile
dosyanızdaki ios platform versiyonunu11.0
veya üzeri olarak değiştirin.platform :ios, '11.0'
Proje dizininizde
ios/Runner.xcworkspace
dosyasını Xcode ile açın.Signing & Capabilities
sekmesindenPush Notifications
veBackground Modes->Remote Notifications
özelliklerini etkinleştirin.AdvertisingTrackingID'yi
isIDFAEnabled
parametresiyle kullanmak istiyorsanız (aşağıdaki kullanım bölümüne bakın), bu anahtarı iOS 14 ve üstü içinInfo.plist
dosyanıza eklemeniz gerekir.<key>NSUserTrackingUsageDescription</key> <string>We use advertising identifier!</string>
Kullanım
Başlatma
Kütüphaneyi sayfaya ekleyin.
import 'package:relateddigital_flutter/relateddigital_flutter.dart'; import 'package:relateddigital_flutter/request_models.dart'; import 'package:relateddigital_flutter/response_models.dart';
Alttaki şekilde konfigürasyonları tamamlayın.
organizationId
,siteId
,dataSource
,appAlias
gibi parametrelerin değerleri için RMC ekibiyle iletişime geçin.final RelateddigitalFlutter relatedDigitalPlugin = RelateddigitalFlutter(); @override void initState() { super.initState(); initLib(); } Future<void> initLib() async { var initRequest = RDInitRequestModel( appAlias: Platform.isIOS ? 'ios-alias' : 'android-alias', huaweiAppAlias: 'huawei-alias', // pass empty String if your app does not support HMS androidPushIntent: 'com.test.MainActivity', // Android only organizationId: 'ORG_ID', siteId: 'SITE_ID', dataSource: 'DATA_SOURCE', maxGeofenceCount: 20, // iOS only geofenceEnabled: true, inAppNotificationsEnabled: true, // iOS only logEnabled: true, isIDFAEnabled: true, // iOS only ); await relatedDigitalPlugin.init(initRequest, _readNotificationCallback); } void _readNotificationCallback(dynamic result) { print(result); }
Related content
Copyright 2020 Related Digital