Ometria は、パーソナライズされた電子メールとプッシュ通知を配信することで、マーケティング部門が顧客を理解し、顧客との関わりを強化するのに役立ちます。
このアプリには 2 つの重要な目的があります。
モバイル アプリの場合、これは次のことを意味します。
この SDK と統合するアプリ開発者は、以下のガイドに従う必要があります。リファレンス実装として含まれているサンプル アプリを参照することもできます。
Ometria ヘルプセンターの「Firebase 認証情報を使用したモバイルアプリの設定」を参照し、そこにある手順に従って API キーを取得します。
Ometria を ReactNative プロジェクトに組み込む最も簡単な方法は、 npm install
またはyarn add
使用することです。
npm install react-native-ometria
またはyarn add react-native-ometria
を使用して、 react-native-ometria
から Ometria ReactNative パッケージをインストールします注: ライブラリのインストールで問題が発生した場合は、typescript config から例を除外することを検討してください。例:
{
...,
"exclude": ["example"]
}
iOS
の場合、ローカルの CocoaPods 仕様ミラーを作成するには、Pod pod install
をインストールする必要があります。
ポッドのインストール実行時にThe Swift pod 'Ometria' depends upon 'FirebaseMessaging'
エラーが発生した場合は、 use_frameworks! :linkage => :static
。
Ometria SDK を初期化するには、 2. 始める前にAPI キーを入力する必要があります。
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
} ) ;
バージョン 2.3.0 以降、SDK では Ometria インスタンスの再初期化が可能です。したがって、必要に応じて、後でアプリ内でこのメソッドを再度呼び出すことができます。
2 番目のオプションのオプション パラメーターで Android 通知チャネルのカスタム名を指定できます。デフォルトのチャンネル名は<blank>
です。
2 番目のオプションのオプション パラメーターでアプリ グループ ID を指定することもできます。 iOS についてはこのセクションを参照してください。
Ometria は、実行時に発生したエラーをデフォルトでログに記録します。これらのログには、開発環境のコンソールからアクセスできます。
バックグラウンドで何が起こっているかに関する詳細情報が必要な場合は、高度なログを有効にすることができます。ライブラリを初期化した後に次の行を追加するだけです。
Ometria . isLoggingEnabled ( true ) ;
ユーザーを理解するには、プラットフォーム上でのユーザーの行動を認識する必要があります。一部の動作は自動的に検出可能ですが、その他のイベントは追跡するためにアプリ開発者の作業が必要です。
これらのメソッドの多くには、Web サイト トラッカーに同様のイベントがあります。
たとえば、顧客識別イベントには顧客 ID または電子メールが使用されます。これらの識別子は、ここでもデータ API の場合と同じである必要があります。電子メールと顧客 ID の両方を指定する場合は、両方が一致する必要があります。
イベントは Ometria 側で統合され、顧客の行動に関する 1 つの大きなクロスチャネル ビューになります。一貫性のない電子メール/顧客 ID を使用すると、重複したプロファイルが作成されたり、データが損失したりする可能性があります。
SDK が初期化されると、専用のメソッドを呼び出してイベントを追跡できます。
アプリユーザーは自分自身を識別したところ、つまりログインしたところです。
Ometria . trackProfileIdentifiedByCustomerIdEvent ( 'test_customer_id' ) ;
彼らの顧客 IDはデータベース内のユーザー IDです。
ユーザーが完全にログインしたりアカウントを持ったりせずに、電子メール アドレスだけを入力する場合があります。その場合、Ometria は電子メールに基づいて一致をプロファイリングできます。
Ometria . trackProfileIdentifiedByEmailEvent ( '[email protected]' ) ;
customerIdがあると、プロファイルの照合がより堅牢になります。
これは、電子メール イベントの送信と相互に排他的ではありません。最適な統合を行うには、情報を入手したらすぐにどちらかのイベントを送信する必要があります。これら 2 つのイベントは SDK の機能にとって極めて重要であるため、できるだけ早く送信するようにしてください。ここで繰り返しますが、これらの識別子は、電子商取引プラットフォームで使用し、(データ API またはその他の方法を介して) Ometria に送信する識別子と同じである必要があります。電子メールと顧客 ID の両方を指定する場合は、両方が一致する必要があります。統合時に見られる典型的なエラーは、アプリがログインごとに新しい顧客 ID を生成することです (Ometria に保存されている顧客 ID と一致しません)。これを回避するには、これらの ID をサーバー上で一元的に生成し、Ometria モバイル SDK および Ometria Data API を通じて一貫した ID を送信します。一貫した ID を生成することが現実的でない場合は、連絡先の識別に電子メールのみを使用することをお勧めします。
profileIdentified イベントを元に戻します。ユーザーがログアウトした場合にこれを使用できます。
Ometria . trackProfileDeidentifiedEvent ( ) ;
現在、このイベントは、保存されている ID (電子メールや顧客 ID) を電話機のローカル ストレージからクリアします。オメトリア内ではそれ以外の効果はありません。
訪問者は、製品をクリック/タップ/表示/ハイライト表示するなど、製品への関心を示します。
たとえば、訪問者は用語を検索し、一連の結果から製品プレビューの 1 つを選択するか、衣服のカテゴリを参照して特定のシャツをクリックして大きな画像を表示します。
このイベントは、来場者のこの商品への興味を引き出すことを目的としています。
Ometria . trackProductViewedEvent ( 'product_id' ) ;
訪問者は、ショッピング バスケットの内容を含む専用のページ、画面、またはモーダルを閲覧しました。
Ometria . trackBasketViewedEvent ( ) ;
訪問者は買い物かごを変更しました:
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' ,
} ) ;
このイベントは、更新された部分だけでなく、現在のバスケット全体をパラメーターとして受け取ります。
これは、失われたバスケット イベントや非同期バスケット イベントから回復するのに役立ちます。最新の更新が常に有効です。
OmetriaBasketItemは、ショッピング バスケットのアイテムの内容を記述するオブジェクトです。適用されるさまざまなルールやプロモーションに基づいて、独自の価格と数量を設定できます。次のような特性があります。
- productId : (
String
、必須) - この製品の一意の識別子を表す文字列。- sku : (
String
、オプション) - 特定のアイテムを識別できる在庫管理単位を表す文字列。- amount : (
Int
、必須) - このエントリが表すアイテムの数。- Price : (
Float
、必須) - 1 つのアイテムの価格を表す Float 値。通貨はこのアイテムを含む OmetriaBasket によって確立されます- variandId : (
String
、オプション) - この品目に関連付けられたバリアント商品の識別子。
OmetriaBasket は、買い物かごの内容を記述するオブジェクトであり、次のプロパティがあります。
- id : (
String
、オプション) - このバスケットの一意の識別子- 通貨: (
String
、必須) - ISO 4217 の 3 文字の通貨コードで通貨を表す文字列 (例:"USD"
、"GBP"
- totalPrice : (
float
、必須) - 価格を表す float 値。- items : (
Array[OmetriaBasketItem]
) - このバスケット内のアイテム エントリを含む配列。- link : (
String
) - このバスケットの Web またはアプリ内ページへのディープリンク。ユーザーに送信される通知で使用できます。例: 「チェックアウトをお忘れですか? 続行するためのバスケットは次のとおりです: 'https://eg.com/basket_url'」。そのリンクをクリックすると、バスケットのページに直接移動します。
ユーザーがいつチェックアウトプロセスを開始したかを追跡します。これは現在、ページビューをカウントするためにのみ使用されており、Ometria では他の効果はありません。
Ometria . trackCheckoutStartedEvent ( 'order_id' ) ;
注文は完了し、支払いが完了しました:
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' ,
} ) ;
アプリが開く画面 (またはその他の宛先) に関する十分な情報がある場合は、「URL を含む通知との対話の処理」ガイドを使用して、このイベントを手動で追跡します。
Ometria . trackDeepLinkOpenedEvent ( '/profile' , 'ProfileScreen' ) ;
訪問者はアプリの「ホームページ」またはランディング画面を表示します。
Ometria . trackHomeScreenViewedEvent ( ) ;
訪問者は、製品リストをクリック/タップ/表示/ハイライト表示するか、その他の方法で製品リストに興味を示します。この種の画面には、検索結果、グループ、カテゴリ、コレクション内の製品のリスト、または製品のリストを表示するその他の画面が含まれます。
たとえば、ある店で衣料品を販売しており、訪問者が「婦人靴」をタップしてそのカテゴリの製品リストを表示するか、「青いジャンパー」を検索してそのカテゴリの製品リストを表示するとします。
このイベントは次の場合にトリガーされる必要があります。
Ometria . trackProductListingViewedEvent ( ) ;
訪問者の独立した画面ビューを追跡することは、訪問者のアプリへの関与や移動中のどこにいるかを追跡するのに役立ちます。
Web サイトでの同様のイベントは、独立したページビューを追跡することです。
一般的な e コマース画面にはすべて、バスケットの表示、表示された製品のリストなど、独自のトップレベルのイベントがあります。
アプリには、マーケティング担当者がエンゲージメントを追跡するのに役立つ特定の種類のページが含まれている場合があります。
たとえば、プロモーションを実行していて、特定の画面を表示すると、そのプロモーションへの関心が示され、マーケティング担当者が後でフォローアップする可能性があります。
これらのカスタム画面を追跡するには、 Screen Viewedイベントを使用します。
Ometria . trackScreenViewedEvent ( 'OnboardingScreen' , { a : '1' , b : '2' } ) ;
アプリには、マーケティング チームが関心を持つ特定のフローやページが含まれている場合があります。
たとえば、マーケティング部門は、特定のプロモーションにサインアップしたユーザー、またはアプリのボタンや特定の要素を操作したユーザーに電子メールまたは通知を送信したい場合があります。
そのアクションに対応するカスタム イベントを送信すると、そのアクションに対して自動化キャンペーンをトリガーできるようになります。
詳細と必要なものについては、マーケティング チームに問い合わせてください。特に、すでにメールに Ometria を使用している場合は、自動化キャンペーンやカスタム イベントについてよく知っているでしょう。
Ometria . trackCustomEvent ( 'my_custom_type' , { } ) ;
次のイベントは SDK によって自動的に追跡されます。
これらを利用するには、SDK を初期化するだけで十分です。それ以上の統合は必要ありません (特に明記されていない限り)。
イベント | 説明 |
---|---|
アプリケーションがインストールされています | アプリがインストールされたばかりです。通常、アプリが実際にインストールされているときには送信できませんが、アプリの初回起動時にのみ送信されます。 |
アプリケーションの起動 | 誰かがアプリを起動したところです。 |
アプリケーションがフォアグラウンドで動作する | アプリはすでに起動されていますが、バックグラウンドで動作していました。それはまさに前面に出てきました。 |
アプリケーションがバックグラウンドで動作する | アプリはアクティブに使用されており、バックグラウンドに送信されたところです。 |
アプリの終了状態で受信した通知 | アプリが終了状態にあるときに、システムがプッシュ通知を受信しました。 (iOS では通知サービス拡張機能が必要です) |
エラーが発生しました | クライアント側でエラーが発生しました。私たちは実際の通知ペイロードに関する問題を弊社側で検出しようとするため、エンド ユーザーにフィードバックする必要があるエラーは発生しないと予想しています。 |
電力と帯域幅の消費を削減するために、Ometria ライブラリは、ユーザーが要求しない限り、イベントを 1 つずつ送信しません。
代わりに、アプリケーションの実行中に次のいずれかが発生したときにバックエンドに送信されるイベントのバッチを作成します。
pushtokenRefreshed
イベント)notificationReceived
イベントappForegrounded
イベントappBackgrounded
イベント以下を呼び出すことで、いつでも必要なときに、残りのすべてのイベントをバックエンドに送信するようにライブラリにリクエストできます。
Ometria . flush ( ) ;
追跡されているがまだフラッシュされていないすべてのイベントを完全にクリアできます。
これを行うには、次のメソッドを呼び出します。
Ometria . clear ( ) ;
ログ記録が有効になっている場合、どのようなイベントがキャプチャされたかを確認するには、Ometria SDK からのログを確認できます。 「Ometria」という単語でフィルタリングできます。 SDK は、すべてのイベントが発生するたびにログを記録し、またフラッシュ (つまり、イベントが Ometria モバイル イベント API に送信されたとき) もログに記録します。送信時の潜在的なエラー (API の問題またはイベント検証の問題) もここに表示されます。
Ometria は、Firebase Cloud Messaging を使用してモバイル デバイスにプッシュ通知を送信します。
したがって、次の行を使用して、「React-Native Firebase」を Ometria の依存関係として追加する必要があります。
import firebase from '@react-native-firebase/app' ;
import messaging from '@react-native-firebase/messaging' ;
Androidの場合は Firebase ReactNative チュートリアルに従ってください。 Android の場合は Firebase ReactNative チュートリアルに従ってください。 iOSの場合は Firebase ReactNative チュートリアルに従ってください。 iOS の場合は Firebase
プッシュ通知を使用するには、「プッシュ通知 ReactNative ガイド」の手順に従う必要もあります。
正しく設定すると、Ometria はモバイル アプリケーションにパーソナライズされた通知を送信できます。
次の手順に従います。
続行する前に、以下をすでに構成している必要があります。
これらの手順の詳細については、セクション 4. ライブラリの初期化を参照してください。
Android 13 (API レベル 33) 以降の場合は、まず AndroidManifest.xml ファイルで権限を宣言する必要があります。
< manifest ...>
< uses-permission android : name = " android.permission.POST_NOTIFICATIONS " />
< application ...>
...
</ application >
</ manifest >
通知の許可をリクエストする必要があります。反応ネイティブ権限を使用できます。
import { requestNotifications , RESULTS } from 'react-native-permissions' ;
...
await requestNotifications ( [ 'alert' , 'sound' , 'badge' ] ) . then ( ( { status } ) => {
if ( status === RESULTS . GRANTED ) {
console . log ( '? Push Notification permissions granted!' ) ;
}
} ) ;
Android での通知実行時の権限の詳細については、こちらをご覧ください。
Ometria の初期化後、 Firebase プッシュ通知トークン (iOS と Android の両方) を転送する必要があります。
また、プッシュ通知トークンが更新されるたびに、プッシュ通知トークンを Ometria に転送する必要があります。
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 ) ) ;
アプリがフォアグラウンド アプリ状態の間に取得するリモート メッセージをサブスクライブします。これを行うには、 @react-native-firebase/messaging
パッケージのonMessage
メソッドを使用します。
コールバックでは、 Ometria.onNotificationReceived
使用して、リモート メッセージが受信され、 notificationReceived
イベントが発生することを Ometria SDK に知らせることができます。リモート メッセージから Ometria データを抽出する場合は、 Ometria.parseNotification
を使用します。
messaging ( ) . onMessage ( async ( remoteMessage ) => {
Ometria . onNotificationReceived ( remoteMessage ) ;
const ometriaData = Ometria . parseNotification ( remoteMessage ) ;
// Use ometriaData
} ) ;
このようなカスタム ソリューションを実装する場合は、忘れずにOmetria.onNotificationOpenedApp
呼び出して、フォアグラウンド通知の通知インタラクション イベントを処理するときに SDK に通知がインタラクションされるようにしてください。
Ometria が iOS 上のアプリの終了およびバックグラウンド状態で受信したすべての通知を正確に追跡するには、すべての通知にアクセスできるバックグラウンド サービスの機能を活用する必要があります。
通知サービス拡張機能のセットアップ方法に関する完全なガイドについては、「通知サービス拡張機能ターゲットの追加」を参照してください。
Ometria が Android 上のアプリの終了およびバックグラウンド状態で受信したすべての通知を正確に追跡するには、アプリが終了およびバックグラウンド状態にあるときに取得するリモート メッセージを ( index.js
で) 早期にサブスクライブする必要があります。
Ometria.onAndroidBackgroundMessage
リモート メッセージが受信されたことを Ometria SDK に知らせ、 notificationReceivedイベントが発生します。バックグラウンドで SDK を初期化するには、Ometria トークンが必要です。
Platform . OS === 'android' &&
messaging ( ) . setBackgroundMessageHandler ( async ( remoteMessage ) => {
Ometria . onAndroidBackgroundMessage ( {
ometriaToken : 'OMETRIA_KEY'
ometriaOptions : { } ,
remoteMessage ,
} ) ;
} ) ;
バージョン 2.4.0 以降、 Ometria.setBackgroundMessageHandler
非推奨のメソッドです。代わりにOmetria.onAndroidBackgroundMessage
使用してください。
ユーザーがバックグラウンドまたは終了状態で通知を操作するときは、通知が操作されてアプリが開かれたことを Ometria SDK に知らせる必要があります。これを行うには、リモート メッセージをパラメータとしてOmetria.onNotificationOpenedApp
を呼び出します。
// 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 )
) ;
バージョン 2.4.0 以降、 Ometria.onNotificationInteracted
は非推奨のメソッドです。代わりにOmetria.onNotificationOpenedApp
使用してください。
Ometria を使用すると、プッシュ通知と一緒に URL と追跡情報を送信し、デバイス上でそれらを処理できるようになります。通知によってアプリが開かれたときに、通知リモート メッセージを解析して、それにディープリンク URL が含まれているかどうかを確認できます。
const notif = await Ometria . parseNotification ( remoteMessage ) ;
if ( notif ?. deepLinkActionUrl ) {
Ometria . trackDeepLinkOpenedEvent ( notif . deepLinkActionUrl , 'Browser' ) ;
Linking . openURL ( notif . deepLinkActionUrl ) ;
}
Ometria.parseNotification
次のようなOmetriaNotificationData
型のオブジェクトを返します。
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
};
};
通知サービス拡張機能には次の 2 つの目的があります。
拡張機能を追加するには、 [ファイル] > [新規作成] > [ターゲット]に移動し、 [通知サービス拡張機能] > [次へ]を選択します。
新しい項目がターゲット リストに表示されます。
次に、ポッドファイルを更新して新しく追加したターゲットを含め、Ometria を依存関係として指定することで、Ometria SDK がこの新しいターゲットでも利用できることを確認します。
# 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
この時点で、メイン アプリケーションと拡張機能は 2 つの別個のエンティティとして機能し、唯一の共有コンポーネントはコードです。拡張機能が SDK に関連するデータへの読み取りおよび書き込みアクセスを取得するには、メイン ターゲットと同じアプリ グループに属している必要があります。これにより、メイン ターゲットと拡張機能がデータを共有できるようになります。
プロジェクト ナビゲーターでプロジェクトを選択し、 [署名と機能]に移動して、左上隅にある[+ 機能]を選択します。
これを完了すると、「署名」の下に新しいセクションが表示されます。新しいアプリグループを追加できるようになります。 Ometria をインスタンス化するときに必要になるため、関連する識別子 (例: group.[BUNDLE_IDENTIFIER]
) を選択し、その値を保持していることを確認してください。通知サービス拡張機能のターゲットに対してこのプロセスを繰り返すと、準備完了です。
Ometria が通知をインターセプトできるようにするには、拡張機能とともに自動的に作成されたNotificationService
クラスを開き、コンテンツを次のものに置き換えます。
import UserNotifications
import Ometria
class NotificationService : OmetriaNotificationServiceExtension {
override func instantiateOmetria ( ) -> Ometria ? {
Ometria . initializeForExtension ( appGroupIdentifier : " group.[BUNDLE_IDENTIFIER] " )
}
}
最後に、ReactNative アプリケーションで Ometria を初期化するときに、アプリ グループ識別子を使用する必要があります。
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
} ) ;
これで、アプリは終了状態で通知を受信するたびにnotificationReceived
イベントを発行するようになり、iOS でリッチ コンテンツ通知を表示できるようになります。
完全な例と使用例については、サンプル アプリを参照してください。
Ometria は、Web サイトを指す URL を含むパーソナライズされた電子メールを送信します。アプリケーション内でこれらの URL を開くには、必ずこのガイドに従ってください。
まず、アカウントに SSL 対応の Ometria 追跡ドメインが設定されていることを確認してください。すでに電子メール キャンペーン用にこれを持っている可能性がありますが、持っていない場合は、Ometria の連絡先に設定を依頼してください。ドメインが提供されるはずです。
関連するドメインについては iOS ドキュメントに従って、apple-app-site-association ファイルを作成し、Ometria の連絡先に送信してください。
最後のステップは、アプリ内の URL を処理し、ユーザーをアプリの適切なセクションに誘導することです。 Web サイトの URL とアプリの画面の間のマッピングを実装する必要があることに注意してください。
「プッシュ通知をアプリ画面にリンクする」も参照してください。
Web サイトを指す通常の URL を扱っている場合は、それをさまざまなパス コンポーネントとパラメータに分解できます。これにより、アプリ内の正しい画面に移動するために必要な情報を入手できるようになります。
URL がアプリを開いていることを ReactNative が識別できるようにするには、ios フォルダーの AppDelegate.m ファイルを調整する必要があります。次のコードを ./ios/ProjectName の AppDelegate.m に追加します。
- ( 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];
}
Android の場合は、以下を追加してください。
< 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 >
/android/app/src/main/AndroidManifest.xml へ
ただし、Ometria の電子メールには難読化された追跡 URL が含まれているため、これらの URL は、Web サイトを指す元の URL に変換してから戻す必要があります。