どのように反応ネイティブアプリケーションからの通知からの深いリンクを
7039 ワード
深いリンクは、リンクは、外部のWebサイトやアプリケーションのホームページではなく、アプリケーションの経験の特定のポイントに直接ユーザーを送信するときです.
当初投稿ankitkumar.dev
あなたが記事を逃したならばHow to implement deep linking in React Native app with React Navigation v5 , 最初にやりなさい.
最後の記事では、反応ナビゲーションv 5で反応ネイティブアプリケーションで深いリンクを実装する方法について学んだ.
この記事では、我々はどのように通知からアプリケーション内の深いリンクの内容を見ていきます.
我々は、以下の深いリンクを使用して、この深いリンクが通知で通知され、ユーザーが通知をタップするとどのように動作するかを参照してください. 通知と深いリンクの実装の後、アプリは0 : 10でここに示されるように振る舞うでしょう.
すぐにいくつかのコードをしましょう!
私はあなたが既に深いリンクが統合される必要があるプロジェクトを持っていると仮定しています.
任意のプロジェクトを持っていない場合は、私は4つの画面で小さなアプリケーションを作成し、ここで0 : 05で説明している.
プロジェクトは既に作成されていますprevious article
私はアプリのローカル通知の4種類を設定している スケジュールのローカル通知なし深いリンク
プロフィール画面への深いリンク
ローカル通知は、設定画面に深いリンク
通知画面への深いリンク
成功した登録にログデバイストークンをコンソールするだけです
追加し、イベントリスナーを削除するためのアプリケーションにコードを下に追加
今すぐ通知のClickイベントを処理する機能を作成しましょう
輸入
変更する
簡単でしたね.
4時22分のテストのビデオ
フルソースコードはGithub Repo
このコンテンツは、ビデオとしても利用可能です
How to implement deep linking in React Native app with React Navigation v5 また、私の新しい記事と話について通知されます:
私の購読
フォローミーオンMedium , Github , および.
あなたも私を見つけることができます.
私はかなり活発で、そこで小さな話題を書きます.
チアーズ!ハッピーコーディング!
当初投稿ankitkumar.dev
あなたが記事を逃したならばHow to implement deep linking in React Native app with React Navigation v5 , 最初にやりなさい.
私たちは何を建てていますか。
最後の記事では、反応ナビゲーションv 5で反応ネイティブアプリケーションで深いリンクを実装する方法について学んだ.
この記事では、我々はどのように通知からアプリケーション内の深いリンクの内容を見ていきます.
我々は、以下の深いリンクを使用して、この深いリンクが通知で通知され、ユーザーが通知をタップするとどのように動作するかを参照してください.
demo://app/home/:id
- この深いリンクはhome
アプリの画面を渡すid
param/propsとしてhome
スクリーンdemo://app/profile/:id
- この深いリンクはprofile
アプリの画面を渡すid
param/propsとしてprofile
スクリーンdemo://app/notifications
- この深いリンクはnotifications
アプリの画面demo://app/settings
- この深いリンクはsettings
アプリの画面すぐにいくつかのコードをしましょう!
プロジェクトの設定
私はあなたが既に深いリンクが統合される必要があるプロジェクトを持っていると仮定しています.
任意のプロジェクトを持っていない場合は、私は4つの画面で小さなアプリケーションを作成し、ここで0 : 05で説明している.
プロジェクト内の通知の設定
プロジェクトは既に作成されていますprevious article
私はアプリのローカル通知の4種類を設定している
const scheduleLocalNotification = () => {
PushNotificationIOS.scheduleLocalNotification({
alertBody: "Scheduled Local Notification",
fireDate: new Date(new Date().valueOf() + 2000).toISOString(),
});
};
const sendProfilNotification = () => {
PushNotificationIOS.presentLocalNotification({
alertTitle: "Deep link to profile",
alertBody: "demo://app/profile/234",
applicationIconBadgeNumber: 1,
});
};
const sendSettingsNotificationWithSound = () => {
PushNotificationIOS.addNotificationRequest({
id: "notificationWithSound",
title: "Notification Deep link",
subtitle: "Received Deep link",
body: "demo://app/settings",
sound: "customSound.wav",
badge: 1,
});
};
const addNotificationRequest = () => {
PushNotificationIOS.addNotificationRequest({
id: "test",
title: "deep link",
subtitle: "Open notifications",
body: "demo://app/notifications",
category: "test",
threadId: "thread-id",
fireDate: new Date(new Date().valueOf() + 2000),
repeats: true,
});
};
今すぐ登録し、通知から登録を取り戻す処理する関数を書くことができます成功した登録にログデバイストークンをコンソールするだけです
const onRegistered = (deviceToken) => {
console.log("Registered For Remote Push", `Device Token: ${deviceToken}`);
};
を返します.
const onRegistrationError = (error) => {
console.log(`Error (${error.code}): ${error.message}`);
};
イベントリスナーの追加と削除
追加し、イベントリスナーを削除するためのアプリケーションにコードを下に追加
useEffect(() => {
PushNotificationIOS.addEventListener("register", onRegistered);
PushNotificationIOS.addEventListener(
"registrationError",
onRegistrationError
);
PushNotificationIOS.requestPermissions().then(
(data) => {
console.log("PushNotificationIOS.requestPermissions", data);
},
(data) => {
console.log("PushNotificationIOS.requestPermissions failed", data);
}
);
return () => {
PushNotificationIOS.removeEventListener("register");
PushNotificationIOS.removeEventListener("registrationError");
PushNotificationIOS.removeEventListener("notification");
PushNotificationIOS.removeEventListener("localNotification");
};
}, []);
取扱説明書の取り扱い
今すぐ通知のClickイベントを処理する機能を作成しましょう
const onLocalNotification = (notification) => {
const isClicked = notification.getData().userInteraction === 1;
// Handle deeplink here from notification - done below
};
我々は加える必要があるonLocalNotification()
イベントリスナーには、更新されたイベントリスターが以下のようになります.useEffect(() => {
PushNotificationIOS.addEventListener("register", onRegistered);
PushNotificationIOS.addEventListener(
"registrationError",
onRegistrationError
);
PushNotificationIOS.addEventListener(
"localNotification",
onLocalNotification
); // Handling click on notification
PushNotificationIOS.requestPermissions().then(
(data) => {
console.log("PushNotificationIOS.requestPermissions", data);
},
(data) => {
console.log("PushNotificationIOS.requestPermissions failed", data);
}
);
return () => {
PushNotificationIOS.removeEventListener("register");
PushNotificationIOS.removeEventListener("registrationError");
PushNotificationIOS.removeEventListener("notification");
PushNotificationIOS.removeEventListener("localNotification");
};
}, []);
魔法をしましょう
輸入
Linking
からreact-native
ファイルの先頭にある.変更する
onLocalNotification()
以下の方法const onLocalNotification = (notification) => {
const isClicked = notification.getData().userInteraction === 1;
Linking.openURL(notification.getMessage());
};
我々はコーディング部分を簡単でしたね.
通知からの深いリンクのテスト
4時22分のテストのビデオ
フルソースコードはGithub Repo
このコンテンツは、ビデオとしても利用可能です
更なる読書
私の購読
フォローミーオンMedium , Github , および.
あなたも私を見つけることができます.
私はかなり活発で、そこで小さな話題を書きます.
チアーズ!ハッピーコーディング!
Reference
この問題について(どのように反応ネイティブアプリケーションからの通知からの深いリンクを), 我々は、より多くの情報をここで見つけました https://dev.to/ak4web3/how-to-deep-link-from-notification-in-react-native-app-4mabテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol