ディープリンク
SDK がディープリンクをどのように処理するか、およびアプリケーション内でカスタムナビゲーションを実行する方法の概要
PushSDK は、通知の開封を次の方法で処理します:
デフォルトでは、SDK は自動的に新しい ACTION_VIEW インテントを、通知に添付されたランディング URL を使用して作成します。
デフォルトでは、SDK は自動的に次を呼び出します open メソッドを、通知に添付されたランディング URL を使用して呼び出します。
次を実装する場合 onPushSDKDidReceiveNotificationDestination ライフサイクルコールバックを実装すると、通知が開かれたときに必要な任意のカスタムロジックを実行できます。
URL 処理コールバックの実装
PushSDK は、購読者が通知を操作したときに呼び出されるコールバックを提供します。これらのコールバックは、通知を開いた後に購読者が適切なアクティビティへ自動的に遷移するよう実装する必要があります。
すべての SDK コールバックは、アプリケーションの index.tsx または app.tsx ファイル内に配置することを推奨します。これにより、すべての通知イベントを適切に処理できます。
SDK が通知の開封イベントを受信すると、アプリ内の適切なアクティビティへ購読者を遷移させるために使用できるパラメータを伴って、以下のいずれかのコールバックを呼び出そうとします。
これらのコールバックを実装するには、SDK の registerNotificationLifecycleCallbacks メソッドを使用し、その中でコールバックを実装できます。
import PushSDK from '@pushly/push-sdk-react-native';
...
PushSDK.registerNotificationLifecycleCallbacks({
// ここに関数のオーバーライドを追加
});
たとえば、通知にランディング URL が添付されていて、購読者の遷移を処理するコールバックを実装した場合、コードは次のようになることがあります:
通知インタラクションコールバック
URI/URL 宛先付きで通知が開かれた場合
このコールバックは、宛先のランディング URL が添付された通知が開かれたときに呼び出されます。購読者は、指定されたランディング URL を表すビューへ遷移する必要があります。
このメソッドは boolean の応答を想定しています。応答が true の場合、SDK はこの通知の開封に対して追加のアクションを実行しません。応答が false の場合、SDK は購読者を宛先 URL へ遷移させようとします。