Flutter - Kurulum
Gereklilikler
iOS 10.0 veya üzeri
Android API level 21 veya üzeri
Kurulum
Projenizin
pubspec.yamldosyasını alttaki şekilde güncelleyindependencies: relateddigital_flutter: ^0.2.5flutter pub getkomutunu çalıştırınPaketi içeri aktarın
import 'package:relateddigital_flutter/relateddigital_flutter.dart';
Platform Entegrasyonları
Android
project/build.gradledosyanızdakirepositoriesbölümlerine alttaki satırları ekleyin.maven {url 'https://jitpack.io'} maven { url 'http://developer.huawei.com/repo/' allowInsecureProtocol(true) }project/build.gradledosyanızdakidependenciesbö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 HMSapp/build.gradledosyanı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 HMSapp/build.gradledosyanızındefaultConfigalanındakiminSdkVersiondeğerini21olarak düzenleyin.app/build.gradledosyanızdakitargetSdkVersionvecompileSdkVersiondeğerini32olarak düzenleyin.Eğer Kotlin kullanıyorsanız
settings.gradle.ktsiçerisindekipluginsbölümüne alttaki satırı ekleyin.plugins { ... id("com.google.gms.google-services") version "4.4.0" apply false }
AndroidManifest.xmldosyanı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.xmldosyanı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.jsondosyasını projenizinandroid/appdizinine ekleyin.Uygulamanızda
HMSdesteği varsaagconnect-services.jsondosyasınıandroid/appdizinine ekleyin.
iOS
Podfiledosyanızdaki ios platform versiyonunu11.0veya üzeri olarak değiştirin.platform :ios, '11.0'Proje dizininizde
ios/Runner.xcworkspacedosyasını Xcode ile açın.Signing & CapabilitiessekmesindenPush NotificationsveBackground Modes->Remote Notificationsözelliklerini etkinleştirin.AdvertisingTrackingID'yi
isIDFAEnabledparametresiyle kullanmak istiyorsanız (aşağıdaki kullanım bölümüne bakın), bu anahtarı iOS 14 ve üstü içinInfo.plistdosyanı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,appAliasgibi 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 useNotificationLargeIcon: true, androidIconName: 'ic_launcher', ); await relatedDigitalPlugin.init(initRequest, _readNotificationCallback); } void _readNotificationCallback(dynamic result) { print(result); }
Copyright 2020 Related Digital