React Native - Kurulum
Bu sayfa React-Native-Related-Digital SDK kurulum klavuzudur.
- 1 Kurulum
- 1.1 Platform Entegrasyonları
- 1.2 Android
- 1.3 iOS
Kurulum
SDK içerisinde ihtiyaç duyulan kütüphaneyi kurun
npm install @react-native-async-storage/async-storage
ya da
yarn add @react-native-async-storage/async-storage
Alttaki komutu çalıştırarak React-Native-Related-Digital SDK’sını kurun
npm install react-native-related-digital
ya da
Pod’ları yükleyin (Sadece IOS)
Alttaki komut satırlarını sırasıyla çalıştırın
SDK yüklemesi tamamlandıktan sonra kodları alttaki şekilde uygulamanıza ekleyin.
appAlias
değeri iOS ve Android uygulamalar için farklı gönderilmelidir (Expo uygulamalar hariç)
Örnek;
const appAlias = Platform.OS === "ios" ? "RelatedStoreIOS" : "RelatedStoreAndroid";
RMC ekibinden alias, SID, OID ve datasource değerlerinizi istemeyi unutmayın.
Platform Entegrasyonları
Android
Bir Firebase projesi oluşturun. Size verilen Google-services.json dosyasını
android/app
klasörü altına kopyalayın. Örnek kullanımAlttaki satırı
android/build.gradle
dosyanızın iki repositories bölümüne de ekleyin.android/build.gradle
dosyanızın dependencies bölümüne aşağıdaki satırları ekleyin. Örnek kullanımminSdkVersion
21 olarak ayarlayıncompileSdkVersion
vetargetSdkVersion
32 olarak ayarlayı.android/app/build.gradle
dosyanızın en altına aşağıdaki satırları ekleyin. Örnek kullanımandroid/app/build.gradle
dosyanızdadefaultConfig
bölümüne alttaki satırı ekleyin
Uygulama ön plandayken bildirim almak için
AndroidManifest.xml
dosyanızınapplication
bölümüne aşağıdaki kodu ekleyin.
Geofence özelliğini etkinleştirmek için
AndroidManifest.xml
dosyanıza aşağıdaki kodu ekleyin.Sdk’yı çalıştırmak için alttaki init kodunu
MainApplication.java
dosyanıza ekleyin.
Geofence özelliğini etkin hale getirmek içinVisilabs.CreateAPI
fonksiyonunun son parametresini(12.)true
değeri girin.
Not: setNotificationTransparentSmallIcon fonksiyonuna atayacağınız icon tek katmanlı bir görsel formatı olmalıdır.
Yüklü uygulamaları raporlamak istiyorsanız alttaki kodu javascript bölümünde çalıştırın.
Ayrıca alttaki yöntemlerden birini seçipAndroidManifest.xml
dosyanıza ekleyin.
Option 1Option 2
iOS
Push Notifications ve Background Modes->Remote Notifications özelliklerini etkinleştirin.
AppDelegate.h
dosyanıza alttaki satırı ekleyin. Örnek kullanım
AppDelegate.h
dosyanızdaki @interface ile başlayan satıra UNUserNotificationCenterDelegate parametresini ekleyin. Son hali alttaki gibi olmalı. Örnek kullanım
Klasik React Native projelerindeExpo projelerinde
AppDelegate.m
dosyanıza alttaki satırları ekleyin. Örnek kullanımAppDelegate.m
dosyanızdadidFinishLaunchingWithOptions
methodunun içerisindekireturn
ifadesinin hemen üzerine alttaki satırları ekleyin. Örnek kullanımAppDelegate.m
dosyanıza alttaki methodları ekleyin. Örnek kullanımAppDelegate.m
dosyasındakididFinishLaunchingWithOptions
fonksiyonununun return ifadesinden hemen öncesine alttaki kodu ekleyin.
Not: In App ve Geofence özelliklerinin aktif olması içinInAppNotificationsEnabled
vegeofenceEnabled
parametreleritrue
olmalıdır.
Başlangıçta konum izninin alınmasını istemiyorsanızaskLocationPermmissionAtStart
parametresinifalse
olarak ayarlayın. ArdındanrequestLocationPermission()
işleviyle istediğiniz zaman izin talep edebilirsiniz.SDK Swift kodu içerdiğinden ve xcode her hedefte en az bir boş swift dosyası gerektirdiğinden projenizin ios dizinine boş bir swift dosyası ekleyin.
Empty.swift
iOS 14 ve sonraki sürümlerde AdvertisingTrackingID'yi kullanabilmek için
Info.plist
dosyanızaNSUserTrackingUsageDescription
ekleyin.Eğer
_swift_getFunctionReplacement
veya herhangi bir swift hatasından dolayı sorun yaşarsanız, projenizinLibrary Search Paths
altındaki$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME
satırını kaldırın.In-App Message kullanacaksanız proje hedefinizin
Build Phases
->Copy Bundle Resources
bölümüne aşağıdaki satırları ekleyin.Create folder references
seçeneğini seçin.Görsel veya video gibi zengin içerikli push bildirim özelliklerini etkinleştirmek için alttaki adımları uygulayın.
1- Projenize Targets altındanNotification Service Extension
ekleyin ve isminiRelatedDigitalNotificationService
olarak değiştirin. Ardından bu hizmetin hedef iOS sürümünü 10.0 olarak değiştirin. Örnek kullanım
2- Yeni eklenmiş olanNotificationService.m
dosyasının içerisini alttakilerle değiştirin.
Örnek kullanım
3- Podfile dosyanızın kök seviyesine aşağıdaki satırları ekleyin. Örnek kullanım
4- Podfile dosyanızın ana hedef bölümünenotification_service_post_install(installer)
satırını ekleyin, alttaki şekilde gözükmeli. Örnek kullanım
5- Sdk, Swift kodu içerdiğinden ve xcode her hedefte en az bir boş swift dosyası gerektirdiğinden, RelatedDigitalNotificationService hedefinize de boş bir swift dosyası ekleyin.Empty.swift
6- Projenizin ios dizinindepod install
komutunu çalıştırın.Carousel push bildirim için
1- Projenize Targets altındanNotification Content Extension
ekleyin ve isminiRelatedDigitalNotificationContent
olarak değiştirin. Ardından bu hizmetin hedef iOS sürümünü 11.0 olarak değiştirin.Info.plist
dışındaRelatedDigitalNotificationContent
altına yeni eklenen dosyaları kaldırın. Ardından aşağıdaki içeriğe sahipEMNotificationViewController.swift
dosyasını ekleyin.
2- Yeni eklenenRelatedDigitalNotificationContent/Info.plist
dosyanıza alttaki satırları ekleyin, eğer varsa değiştirin.
3- Podfile dosyanızın kök seviyesine alttaki satırları ekleyin.
4- Xcode'daRelatedDigitalNotificationContent
hedefini seçin. Aşağıdaki dosyalarıBuild Phases
->Copy Bundle Resources
bölümüne ekleyin.Create folder references
seçeneğini seçin.
5- Deployment target değerini ios 10 yapın.
6- Projenizin ios dizinindepod install
komutunu çalıştırın.Geofence konum hizmetleri tanımlamaları
Uygulamanızda konum hizmetlerini etkinleştirmek için öncelikle aşağıdaki anahtarları Info.plist dosyanıza eklemeniz gerekir.
- NSLocationAlwaysAndWhenInUseUsageDescription
- NSLocationWhenInUseUsageDescription
Bu izinlerin örnek uygulaması aşağıdaki gibidir:
Ayrıca bölgeleri izlemek, bölge listesini yenilemek ve push bildirimlerini almak için Info.plist dosyanızda UIBackgroundModes altına aşağıdaki anahtarları eklemeniz gerekir.
Copyright 2020 Related Digital