Ometria membantu departemen pemasaran Anda memahami dan berinteraksi lebih baik dengan pelanggan Anda dengan mengirimkan email yang dipersonalisasi dan pemberitahuan push.
Aplikasi ini memiliki dua tujuan utama:
Untuk aplikasi seluler Anda, ini berarti:
Pengembang aplikasi yang berintegrasi dengan SDK ini harus mengikuti panduan di bawah ini. Anda juga dapat melihat aplikasi Contoh yang kami sertakan untuk implementasi referensi.
Lihat Menyiapkan aplikasi seluler Anda dengan kredensial Firebase di pusat bantuan Ometria dan ikuti langkah-langkah di sana untuk mendapatkan kunci API.
Cara termudah untuk memasukkan Ometria ke dalam proyek ReactNative Anda adalah dengan menggunakan npm install
atau yarn add
.
react-native-ometria
menggunakan npm install react-native-ometria
atau yarn add react-native-ometria
Catatan: Jika Anda mengalami masalah saat menginstal perpustakaan, harap pertimbangkan untuk mengecualikan contoh dari konfigurasi skrip ketikan, misalnya:
{
...,
"exclude": ["example"]
}
Untuk iOS
Anda perlu menginstal Pods pod install
untuk membuat mirror spesifikasi CocoaPods lokal.
Jika Anda menemukan kesalahan The Swift pod 'Ometria' depends upon 'FirebaseMessaging'
saat menjalankan instalasi pod, harap pertimbangkan untuk menambahkan use_frameworks! :linkage => :static
.
Untuk menginisialisasi Ometria SDK, Anda perlu memasukkan kunci API dari 2. Sebelum memulai .
import Ometria from 'react-native-ometria' ;
await Ometria . initializeWithApiToken ( 'API_KEY' , {
notificationChannelName : 'Example Channel Name' , // optional, only for Android
appGroupIdentifier : 'group.com.ometria.sampleRN' , // optional, only for iOS
} ) ;
Sejak versi 2.3.0, SDK memungkinkan inisialisasi ulang instance Ometria. Jadi, Anda dapat memanggil metode ini lagi nanti di aplikasi jika perlu.
Anda dapat menentukan nama khusus saluran notifikasi Android di parameter opsi opsional kedua. Nama saluran default adalah <blank>
.
Anda juga dapat menentukan pengidentifikasi grup aplikasi di parameter opsi opsional kedua. Lihat bagian ini untuk iOS.
Ometria mencatat kesalahan apa pun yang ditemui selama runtime secara default, log ini dapat diakses di konsol lingkungan pengembangan Anda.
Anda dapat mengaktifkan pencatatan log lanjutan jika Anda menginginkan informasi lebih lanjut tentang apa yang terjadi di latar belakang. Cukup tambahkan baris berikut setelah menginisialisasi perpustakaan:
Ometria . isLoggingEnabled ( true ) ;
Anda perlu menyadari perilaku pengguna di platform Anda untuk memahami mereka. Beberapa perilaku dapat dideteksi secara otomatis, peristiwa lainnya memerlukan upaya dari pengembang aplikasi untuk melacaknya.
Banyak dari metode ini memiliki kejadian serupa di pelacak situs web kami.
Misalnya, peristiwa yang diidentifikasi pelanggan mengambil ID pelanggan atau email - pengidentifikasi ini harus sama dengan yang ada di API data. Jika Anda menentukan email dan id pelanggan, keduanya harus cocok.
Peristiwa tersebut digabungkan di sisi Ometria menjadi satu tampilan lintas saluran besar tentang perilaku pelanggan Anda. Jika Anda menggunakan email/id pelanggan yang tidak konsisten, hal ini dapat mengakibatkan pembuatan profil duplikat atau kehilangan data.
Setelah SDK diinisialisasi, Anda dapat melacak peristiwa dengan memanggil metode khusus.
Seorang pengguna aplikasi baru saja mengidentifikasi dirinya, yaitu login.
Ometria . trackProfileIdentifiedByCustomerIdEvent ( 'test_customer_id' ) ;
ID pelanggan mereka adalah ID pengguna mereka di database Anda.
Terkadang pengguna hanya memberikan alamat emailnya tanpa login atau memiliki akun sepenuhnya. Dalam hal ini, Ometria dapat mencocokkan profil berdasarkan email:
Ometria . trackProfileIdentifiedByEmailEvent ( '[email protected]' ) ;
Memiliki customerId membuat pencocokan profil menjadi lebih kuat.
Ini tidak eksklusif dengan pengiriman acara email; untuk integrasi optimal, Anda harus mengirimkan salah satu acara segera setelah Anda memiliki informasinya. Kedua peristiwa ini sangat penting untuk berfungsinya SDK, jadi pastikan Anda mengirimkannya sedini mungkin. Ditegaskan kembali di sini bahwa pengidentifikasi ini harus sama dengan yang Anda gunakan di platform e-niaga dan Anda kirimkan ke Ometria (melalui API data atau cara lain). Jika Anda menentukan email dan id pelanggan, keduanya harus cocok. Kesalahan umum yang kami lihat pada integrasi adalah aplikasi menghasilkan id pelanggan baru pada setiap login (yang tidak cocok dengan id pelanggan yang disimpan di Ometria). Untuk menghindari hal ini, buat id ini secara terpusat di server Anda dan kirimkan id yang konsisten melalui SDK seluler Ometria dan API Data Ometria. Jika tidak praktis untuk menghasilkan ID yang konsisten, sebaiknya gunakan email saja untuk mengidentifikasi kontak.
Membatalkan acara profileIdentified. Anda dapat menggunakan ini jika pengguna logout.
Ometria . trackProfileDeidentifiedEvent ( ) ;
Saat ini acara ini menghapus id yang tersimpan (email dan/atau id pelanggan) dari penyimpanan lokal ponsel. Itu tidak memiliki efek lain di dalam Ometria.
Pengunjung mengklik/mengetuk/melihat/menyoroti atau menunjukkan minat pada suatu produk.
Misalnya pengunjung mencari suatu istilah dan memilih salah satu pratinjau produk dari serangkaian hasil, atau menelusuri kategori pakaian, dan mengklik kemeja tertentu untuk melihat gambaran yang lebih besar.
Acara ini bertujuan untuk menarik minat pengunjung terhadap produk ini.
Ometria . trackProductViewedEvent ( 'product_id' ) ;
Pengunjung telah melihat halaman, layar, atau modal khusus dengan isi keranjang belanja:
Ometria . trackBasketViewedEvent ( ) ;
Pengunjung telah mengganti keranjang belanjaannya:
const items : OmetriaBasketItem [ ] = [
{
productId : 'product-1' ,
sku : 'sku-product-1' ,
quantity : 1 ,
price : 12.0 ,
variantId : 'variant-1' ,
} ,
{
productId : 'product-2' ,
sku : 'sku-product-2' ,
quantity : 2 ,
price : 9.0 ,
variantId : 'variant-2' ,
} ,
{
productId : 'product-3' ,
sku : 'sku-product-3' ,
quantity : 3 ,
price : 20.0 ,
variantId : 'variant-3' ,
} ,
] ;
Ometria . trackBasketUpdatedEvent ( {
totalPrice : 12.0 ,
id : 'basket_id_eg' ,
currency : 'USD' ,
items ,
link : 'link_eg' ,
} ) ;
Peristiwa ini menggunakan keranjang penuh saat ini sebagai parameter - bukan hanya bagian yang diperbarui.
Ini membantu memulihkan peristiwa keranjang yang hilang atau tidak sinkron: pembaruan terkini selalu resmi.
OmetriaBasketItem adalah objek yang menggambarkan isi item keranjang belanja. Ini dapat memiliki harga dan kuantitas sendiri berdasarkan aturan dan promosi berbeda yang diterapkan. Ini memiliki properti berikut:
- productId : (
String
, wajib diisi) - String yang mewakili pengidentifikasi unik produk ini.- sku : (
String
, opsional) - Sebuah string yang mewakili unit penyimpanan stok, yang memungkinkan mengidentifikasi item tertentu.- quantity : (
Int
, wajib diisi) - Jumlah item yang diwakili oleh entri ini.- price : (
Float
, wajib diisi) - Nilai float yang mewakili harga satu item. Mata uang ditentukan oleh OmetriaBasket yang berisi item ini- variandId : (
String
, opsional) - Pengidentifikasi untuk produk varian yang terkait dengan item baris ini.
OmetriaBasket adalah objek yang mendeskripsikan isi keranjang belanja dan memiliki properti berikut:
- id : (
String
, opsional) - Pengidentifikasi unik untuk keranjang ini- mata uang : (
String
, wajib diisi) - String yang mewakili mata uang dalam kode mata uang tiga huruf ISO 4217, misalnya"USD"
,"GBP"
- totalPrice : (
float
, wajib diisi) - Nilai float yang mewakili harga.- item : (
Array[OmetriaBasketItem]
) - Array yang berisi entri item dalam keranjang ini.- link : (
String
) - Tautan dalam ke web atau halaman dalam aplikasi untuk keranjang ini. Dapat digunakan dalam notifikasi yang dikirimkan kepada pengguna, misalnya "Lupa check out? Ini keranjang Anda untuk melanjutkan: 'https://eg.com/basket_url'". Mengikuti tautan itu akan membawa mereka langsung ke halaman keranjang.
Lacak kapan pengguna telah memulai proses checkout. Saat ini ini hanya digunakan untuk menghitung tampilan halaman, dan tidak memiliki efek lain di Ometria.
Ometria . trackCheckoutStartedEvent ( 'order_id' ) ;
Pesanan telah selesai dan dibayar:
const items : OmetriaBasketItem [ ] = [
{
productId : 'product-1' ,
sku : 'sku-product-1' ,
quantity : 1 ,
price : 12.0 ,
} ,
] ;
Ometria . trackOrderCompletedEvent ( 'order_id' , {
totalPrice : 12.0 ,
id : 'basket_id_eg' ,
currency : 'USD' ,
items ,
link : 'link_eg' ,
} ) ;
Gunakan panduan Menangani interaksi dengan notifikasi yang berisi URL untuk melacak peristiwa ini secara manual ketika Anda memiliki cukup informasi mengenai layar (atau tujuan lain) tempat aplikasi akan dibuka.
Ometria . trackDeepLinkOpenedEvent ( '/profile' , 'ProfileScreen' ) ;
Pengunjung melihat 'halaman beranda' atau layar landing aplikasi Anda.
Ometria . trackHomeScreenViewedEvent ( ) ;
Pengunjung mengklik/mengetuk/melihat/menyoroti atau menunjukkan minat pada daftar produk. Layar semacam ini mencakup hasil pencarian, daftar produk dalam grup, kategori, koleksi, atau layar lain yang menampilkan daftar produk.
Misalnya, Sebuah toko menjual pakaian, dan pengunjung mengetuk "Sepatu Wanita" untuk melihat daftar produk dalam kategori tersebut, atau mereka menelusuri "jumper biru" dan melihat daftar produk dalam kategori tersebut.
Peristiwa ini harus dipicu pada:
Ometria . trackProductListingViewedEvent ( ) ;
Melacak tampilan layar independen pengunjung membantu kami melacak keterlibatan mereka dengan aplikasi, serta di mana mereka berada dalam perjalanan.
Peristiwa analog di situs web adalah melacak tampilan halaman independen.
Semua layar eCommerce yang umum memiliki acara tingkat teratasnya sendiri: keranjang dilihat, daftar produk dilihat, dll.
Aplikasi Anda mungkin memiliki jenis laman tertentu yang berguna bagi pemasar untuk melacak keterlibatannya.
Misalnya jika Anda menjalankan promosi, dan melihat layar tertentu menunjukkan minat terhadap promosi tersebut, pemasaran mana yang nantinya ingin ditindaklanjuti.
Untuk melacak layar khusus ini, gunakan acara Layar dilihat :
Ometria . trackScreenViewedEvent ( 'OnboardingScreen' , { a : '1' , b : '2' } ) ;
Aplikasi Anda mungkin memiliki alur atau halaman tertentu yang menarik bagi tim pemasaran.
Misalnya, Pemasaran mungkin ingin mengirimkan email atau pemberitahuan kepada pengguna mana pun yang mendaftar untuk promosi tertentu, atau berinteraksi dengan tombol atau elemen aplikasi tertentu.
Jika Anda mengirimkan peristiwa khusus yang sesuai dengan tindakan tersebut, peristiwa tersebut akan dapat memicu kampanye otomatisasi pada tindakan tersebut.
Tanyakan kepada tim pemasaran tentang hal spesifiknya, dan apa yang mungkin mereka perlukan. Terutama jika mereka sudah menggunakan Ometria untuk email, mereka akan mengetahui tentang kampanye otomatisasi dan peristiwa khusus.
Ometria . trackCustomEvent ( 'my_custom_type' , { } ) ;
Peristiwa berikut secara otomatis dilacak oleh SDK.
Menginisialisasi SDK sudah cukup untuk memanfaatkan hal ini; tidak diperlukan integrasi lebih lanjut (kecuali disebutkan sebaliknya).
Peristiwa | Keterangan |
---|---|
Aplikasi diinstal | Aplikasinya baru saja diinstal. Biasanya tidak dapat dikirim saat aplikasi benar-benar diinstal, melainkan hanya dikirim saat aplikasi pertama kali diluncurkan. |
Aplikasi diluncurkan | Seseorang baru saja meluncurkan aplikasi. |
Aplikasi di latar depan | Aplikasi sudah diluncurkan, namun berada di latar belakang. Itu baru saja diangkat ke permukaan. |
Latar belakang aplikasi | Aplikasi sedang digunakan secara aktif dan baru saja dikirim ke latar belakang. |
Pemberitahuan diterima dalam keadaan keluar dari aplikasi | Pemberitahuan push diterima oleh sistem saat aplikasi dalam keadaan berhenti. (membutuhkan Ekstensi Layanan Notifikasi di iOS) |
Terjadi kesalahan | Terjadi kesalahan di sisi klien. Kami mencoba mendeteksi masalah apa pun dengan payload notifikasi sebenarnya di pihak kami, jadi kami tidak mengharapkan adanya kesalahan yang perlu diumpankan kembali ke pengguna akhir. |
Untuk mengurangi konsumsi daya dan bandwidth, perpustakaan Ometria tidak mengirimkan peristiwa satu per satu kecuali Anda memintanya.
Sebaliknya, ini menyusun kumpulan peristiwa yang dikirim ke backend selama runtime aplikasi ketika salah satu hal berikut terjadi:
pushtokenRefreshed
)notificationReceived
appForegrounded
appBackgrounded
Anda dapat meminta perpustakaan untuk mengirim semua acara yang tersisa ke backend kapan pun Anda mau dengan menelepon:
Ometria . flush ( ) ;
Anda dapat sepenuhnya menghapus semua peristiwa yang telah dilacak dan belum dihapus.
Untuk melakukannya, panggil metode berikut:
Ometria . clear ( ) ;
Untuk melihat peristiwa apa yang direkam, Anda dapat memeriksa log yang berasal dari Ometria SDK, jika logging diaktifkan. Anda dapat memfilter kata "Ometria". SDK mencatat semua peristiwa yang terjadi, dan juga mencatat pembilasan, yaitu ketika peristiwa tersebut dikirim ke API peristiwa seluler Ometria. Potensi kesalahan pengiriman (masalah API atau masalah validasi peristiwa) juga akan terlihat di sini.
Ometria menggunakan Firebase Cloud Messaging untuk mengirimkan pemberitahuan push ke perangkat seluler.
Oleh karena itu Anda harus menambahkan 'React-Native Firebase' sebagai ketergantungan Ometria, menggunakan baris berikut:
import firebase from '@react-native-firebase/app' ;
import messaging from '@react-native-firebase/messaging' ;
Untuk Android ikuti tutorial Firebase ReactNative Firebase untuk Android Untuk iOS ikuti tutorial Firebase ReactNative Firebase untuk iOS
Untuk menggunakan notifikasi push, Anda juga perlu mengikuti langkah-langkah di Panduan ReactNative Notifikasi Push
Jika diatur dengan benar, Ometria dapat mengirimkan pemberitahuan yang dipersonalisasi untuk aplikasi seluler Anda.
Ikuti langkah-langkah berikut:
Sebelum melanjutkan, Anda harus sudah mengkonfigurasi:
Baca selengkapnya tentang langkah-langkah tersebut di bagian 4. Inisialisasi perpustakaan
Untuk Android 13 (API level 33) dan yang lebih tinggi, Anda harus mendeklarasikan izin terlebih dahulu di file AndroidManifest.xml Anda:
< manifest ...>
< uses-permission android : name = " android.permission.POST_NOTIFICATIONS " />
< application ...>
...
</ application >
</ manifest >
Anda harus meminta izin untuk notifikasi. Anda dapat menggunakan izin reaksi-asli.
import { requestNotifications , RESULTS } from 'react-native-permissions' ;
...
await requestNotifications ( [ 'alert' , 'sound' , 'badge' ] ) . then ( ( { status } ) => {
if ( status === RESULTS . GRANTED ) {
console . log ( '? Push Notification permissions granted!' ) ;
}
} ) ;
Temukan selengkapnya tentang izin runtime notifikasi di Android di sini.
Setelah inisialisasi Ometria, Anda harus meneruskan token Firebase Push Notice (iOS dan Android).
Anda juga harus meneruskan token pemberitahuan push ke Ometria setiap kali disegarkan.
import Ometria from 'react-native-ometria' ;
import messaging from '@react-native-firebase/messaging' ;
await Ometria . initializeWithApiToken ( 'API_KEY' , {
notificationChannelname : 'Example Channel Name' , // optional, only for Android
appGroupIdentifier : 'group.com.ometria.sampleRN' , // optional, only for iOS
} ) ;
messaging ( )
. getToken ( )
. then ( ( pushToken ) => Ometria . onNewToken ( pushToken ) ) ;
messaging ( ) . onTokenRefresh ( ( pushToken ) => Ometria . onNewToken ( pushToken ) ) ;
Berlangganan pesan jarak jauh yang diterima aplikasi Anda saat berada dalam status aplikasi latar depan. Anda dapat melakukannya dengan menggunakan metode onMessage
dari paket @react-native-firebase/messaging
.
Dalam panggilan balik, Anda dapat menggunakan Ometria.onNotificationReceived
untuk memberi tahu Ometria SDK bahwa pesan jarak jauh telah diterima dan peristiwa notificationReceived
akan diaktifkan. Gunakan Ometria.parseNotification
jika Anda ingin mengekstrak data Ometria dari pesan jarak jauh.
messaging ( ) . onMessage ( async ( remoteMessage ) => {
Ometria . onNotificationReceived ( remoteMessage ) ;
const ometriaData = Ometria . parseNotification ( remoteMessage ) ;
// Use ometriaData
} ) ;
Jika Anda menerapkan solusi khusus seperti itu, jangan lupa untuk memanggil Ometria.onNotificationOpenedApp
agar SDK yang menerima notifikasi telah berinteraksi saat menangani peristiwa interaksi notifikasi untuk notifikasi latar depan.
Agar Ometria dapat melacak secara akurat semua notifikasi yang diterima saat aplikasi ditutup dan di latar belakang di iOS, Ometria perlu memanfaatkan kekuatan layanan latar belakang, yang memiliki akses ke semua notifikasi.
Untuk panduan lengkap tentang cara menyiapkan Ekstensi Layanan Notifikasi, lihat Menambahkan Target Ekstensi Layanan Notifikasi.
Agar Ometria dapat melacak secara akurat semua notifikasi yang diterima dalam keadaan keluar dan latar belakang aplikasi di Android, Anda harus berlangganan lebih awal (dalam index.js
) ke pesan jarak jauh yang diterima aplikasi Anda saat berada dalam keadaan keluar dan latar belakang.
Ometria.onAndroidBackgroundMessage
akan memberi tahu Ometria SDK bahwa pesan jarak jauh telah diterima dan peristiwa notifikasiReceived akan diaktifkan. Dibutuhkan token Ometria untuk menginisialisasi SDK di latar belakang.
Platform . OS === 'android' &&
messaging ( ) . setBackgroundMessageHandler ( async ( remoteMessage ) => {
Ometria . onAndroidBackgroundMessage ( {
ometriaToken : 'OMETRIA_KEY'
ometriaOptions : { } ,
remoteMessage ,
} ) ;
} ) ;
Pada versi 2.4.0 Ometria.setBackgroundMessageHandler
adalah metode yang tidak digunakan lagi. Gunakan Ometria.onAndroidBackgroundMessage
sebagai gantinya.
Saat pengguna berinteraksi dengan notifikasi di latar belakang atau status keluar, Anda harus memberi tahu Ometria SDK bahwa notifikasi telah berinteraksi dan aplikasi telah dibuka. Anda dapat melakukannya dengan memanggil Ometria.onNotificationOpenedApp
dengan pesan jarak jauh sebagai parameter.
// Check if the app was opened from quit state by a notification
messaging ( )
. getInitialNotification ( )
. then ( ( remoteMessage ) => {
if ( remoteMessage ) {
Ometria . onNotificationOpenedApp ( remoteMessage ) ;
}
} ) ;
// Subscribe to the app being opened from background state by a notification
messaging ( ) . onNotificationOpenedApp ( ( remoteMessage ) =>
Ometria . onNotificationOpenedApp ( remoteMessage )
) ;
Pada versi 2.4.0 Ometria.onNotificationInteracted
adalah metode yang tidak digunakan lagi. Gunakan Ometria.onNotificationOpenedApp
sebagai gantinya.
Ometria memungkinkan Anda mengirim URL dan info pelacakan bersama pemberitahuan push Anda dan memungkinkan Anda menanganinya di perangkat. Saat notifikasi membuka aplikasi, Anda dapat mengurai pesan jarak jauh notifikasi dan memeriksa apakah pesan tersebut berisi URL tautan dalam.
const notif = await Ometria . parseNotification ( remoteMessage ) ;
if ( notif ?. deepLinkActionUrl ) {
Ometria . trackDeepLinkOpenedEvent ( notif . deepLinkActionUrl , 'Browser' ) ;
Linking . openURL ( notif . deepLinkActionUrl ) ;
}
Ometria.parseNotification
mengembalikan objek dengan tipe OmetriaNotificationData
yang terlihat seperti ini:
type OmetriaNotificationData = {
campaignType?: 'trigger; // represents automation campaigns
deepLinkActionUrl?: string;
externalCustomerId?: string;
imageUrl?: string;
sendId?: string;
tracking: { // Can be overridden / added in your automation campaign's settings
utm_medium?: string; // default is "push"
utm_source: string;
utm_campaign: string; // generated from campaign hash and title
om_campagin: string; // generated from campaign hash, campaign version and node id
[key: string]: string | undefined; // additional tracking data you add
};
};
Ekstensi Layanan Notifikasi memiliki dua tujuan:
Untuk menambahkan ekstensi, buka File > New > Target , dan pilih Notification Service Extension > Next .
Item baru ditampilkan di daftar target Anda:
Selanjutnya, pastikan Ometria SDK juga tersedia untuk target baru ini dengan memperbarui podfile Anda untuk menyertakan target yang baru ditambahkan dan menentukan Ometria sebagai dependensi.
# move this line before the App target
pod 'GoogleUtilities' , : modular_headers => true
use_frameworks! :linkage => :static
target 'sampleApp' do
# Pods for sampleApp
end
# Add the following lines
target 'NotificationService' do
use_frameworks! :linkage => :static
pod 'Ometria'
end
Pada titik ini aplikasi utama dan ekstensi berfungsi sebagai dua entitas terpisah dengan satu-satunya komponen bersama adalah kode. Agar ekstensi dapat memperoleh akses baca dan tulis ke data yang relevan untuk SDK, ekstensi harus berada dalam Grup Aplikasi yang sama dengan target utama. Ini akan memungkinkan target utama dan ekstensi untuk berbagi data.
Di navigator proyek Anda, pilih proyek Anda, lalu buka Penandatanganan & Kemampuan dan pilih + Kemampuan di sudut kiri atas.
Setelah Anda melakukannya, bagian baru akan ditampilkan di bawah Penandatanganan. Ini akan memungkinkan Anda untuk menambahkan grup aplikasi baru. Pastikan Anda memilih pengidentifikasi yang relevan (misalnya group.[BUNDLE_IDENTIFIER]
), dan simpan nilainya, karena Anda akan memerlukannya saat membuat instance Ometria. Ulangi proses untuk target Ekstensi Layanan Pemberitahuan, dan Anda siap melakukannya.
Untuk mengizinkan Ometria mencegat notifikasi, buka kelas NotificationService
yang secara otomatis dibuat bersama ekstensi, dan ganti konten dengan yang berikut:
import UserNotifications
import Ometria
class NotificationService : OmetriaNotificationServiceExtension {
override func instantiateOmetria ( ) -> Ometria ? {
Ometria . initializeForExtension ( appGroupIdentifier : " group.[BUNDLE_IDENTIFIER] " )
}
}
Terakhir, Anda harus menggunakan pengidentifikasi grup aplikasi saat menginisialisasi Ometria di aplikasi ReactNative.
import Ometria from 'react-native-ometria' ;
// Ometria init
await Ometria . initializeWithApiToken ( 'API_KEY' , {
notificationChannelName : 'Example Channel Name' , // optional, only for Android
appGroupIdentifier : 'group.[BUNDLE_IDENTIFIER]' , // optional, only for iOS
} ) ;
Sekarang aplikasi Anda akan mengeluarkan acara notificationReceived
setiap kali notifikasi diterima dalam keadaan berhenti dan Anda akan dapat menampilkan notifikasi konten kaya di iOS.
Untuk contoh lengkap dan kasus penggunaan, silakan lihat aplikasi Contoh.
Ometria mengirimkan email yang dipersonalisasi dengan URL yang mengarah kembali ke situs web Anda. Untuk membuka URL ini di dalam aplikasi Anda, pastikan Anda mengikuti panduan ini.
Pertama, pastikan Anda telah menyiapkan domain pelacakan Ometria berkemampuan SSL untuk akun Anda. Anda mungkin sudah memiliki ini untuk kampanye email Anda, tetapi jika belum, mintalah kontak Ometria Anda untuk menyiapkannya, dan mereka akan memberi Anda domain tersebut.
Silakan ikuti dokumentasi ios untuk domain terkait, lalu buat file asosiasi situs-aplikasi-apel dan kirimkan ke kontak Ometria Anda.
Langkah terakhir adalah memproses URL di aplikasi Anda dan mengarahkan pengguna ke bagian aplikasi yang sesuai. Perhatikan bahwa Anda perlu menerapkan pemetaan antara URL situs web dan layar aplikasi Anda.
Lihat juga Menautkan pemberitahuan push ke layar aplikasi.
Jika Anda berurusan dengan URL normal yang mengarah ke situs web Anda, Anda dapat menguraikannya menjadi komponen dan parameter jalur yang berbeda. Ini akan memungkinkan Anda mendapatkan informasi yang diperlukan untuk menavigasi ke layar yang benar di aplikasi Anda.
Agar ReactNative dapat mengidentifikasi bahwa url sedang membuka aplikasi, Anda perlu menyesuaikan file AppDelegate.m dari folder ios, tambahkan kode berikut ke AppDelegate.m dari ./ios/ProjectName
- ( BOOL )application:(UIApplication *)application openURL:( NSURL *)url
sourceApplication:( NSString *)sourceApplication annotation:( id )annotation
{
return [RCTLinkingManager application: application openURL: url
sourceApplication: sourceApplication annotation: annotation];
}
// Only if your app is using [Universal Links](https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/AppSearch/UniversalLinks.html).
- ( BOOL )application:(UIApplication *)application continueUserActivity:( NSUserActivity *)userActivity
restorationHandler:( void (^)( NSArray * _Nullable))restorationHandler
{
return [RCTLinkingManager application: application
continueUserActivity: userActivity
restorationHandler: restorationHandler];
}
Untuk Android silakan tambahkan yang berikut ini:
< intent-filter android : autoVerify = " true " >
< action android : name = " android.intent.action.VIEW " />
< category android : name = " android.intent.category.DEFAULT " />
< category android : name = " android.intent.category.BROWSABLE " />
< data
android : host = " clickom.omdemo.net "
android : scheme = " https " />
</ intent-filter >
ke /android/app/src/main/AndroidManifest.xml
Namun, email Ometria berisi URL pelacakan yang dikaburkan, dan ini perlu dikonversi kembali ke URL asli, yang mengarah ke situs web Anda, sebelum Anda