Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

GitHub

İncele

pub.dev

İncele

Gereklilikler

  • iOS 10.0 veya üzeri

  • Android API level 21 veya üzeri

...

  • Projenizin pubspec.yaml dosyasını alttaki şekilde güncelleyin

    Code Block
    languageyaml
    dependencies:
        relateddigital_flutter: ^0.12.05

  • flutter pub get komutunu çalıştırın

  • Paketi içeri aktarın

    Code Block
    languagedart
    import 'package:relateddigital_flutter/relateddigital_flutter.dart';

...

  • project/build.gradle dosyanızdaki iki repositories bölümüne bölümlerine alttaki satırı satırları ekleyin.

    Code Block
    maven {url 'https://jitpack.io'}
    maven {
        url 'http://developer.huawei.com/repo/'}
    // skip if your app does not support HMSallowInsecureProtocol(true)
    }

  • project/build.gradle dosyanızdaki dependencies bölümüne alttaki satırları ekleyin.

    Code Block
    languagenone
    classpath 'com.google.gms:google-services:4.3.510'
    classpath 'com.huawei.agconnect:agcp:1.46.15.300' // skip if your app does not support HMS

  • app/build.gradle dosyanızın en altına alttaki satırları ekleyin.

    Code Block
    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ın defaultConfig alanındaki minSdkVersion değerini 21 olarak düzenleyin.

  • app/build.gradle dosyanızdaki targetSdkVersion ve compileSdkVersion değerini 32 olarak düzenleyin.

  • AndroidManifest.xml dosyanızın <application></application> etiketleri arasına alttaki satırları ekleyin.

    Code Block
    languagexml
    <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

    Code Block
    languagexml
    <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ı projenizin android/app dizinine ekleyin.

  • Uygulamanızda HMS desteği varsa agconnect-services.json dosyasını android/app dizinine ekleyin.

...

  • Podfile dosyanızdaki ios platform versiyonunu 1011.0 veya üzeri olarak değiştirin.

    Code Block
    platform :ios, '1011.0'

  • Proje dizininizde ios/Runner.xcworkspace dosyasını Xcode ile açın.

  • Signing & Capabilities sekmesinden Push Notifications ve Background Modes->Remote Notifications özelliklerini etkinleştirin.

    xcode-push-capability.png
  • 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çin Info.plist dosyanıza eklemeniz gerekir.

    Code Block
    languagexml
    <key>NSUserTrackingUsageDescription</key>
    <string>We use advertising identifier!</string>

Kullanım

Başlatma

  • Kütüphaneyi sayfaya ekleyin.

    Code Block
    languagedart
    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.

    Code Block
    languagedart
    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);
    }