多田:AdedJSとFCMのAWSピンポイントプッシュ通知の一致
この物語の議題は、今日、あるいは過去に学んだことは、いつか役に立つということを理解することです.あなたは状況がストライキを知っていることはありません.
だからここで何が起こるか、私は密接に私のクライアントといくつかの方法で働いていたFCM Push Notifications 我々の端でうまく働いています.しかし、我々はテストするためにFCM HTTP APIを使用していました.AWSピンポイントを使用していました.今では、Pythonで書かれたSDKとサーバの衝突以来.
AWSはほぼすべてのサーバ言語サポートを提供しており、ほぼ2年前にノードJSで働いています.それで、私は戻って、単純なサーバーを作成することに決めました.だから私は無料AWSアカウントを作成し、移動するSDK for Node JS .
注意: AWSの上でサインアップをしている間、クレジットカード詳細を加えることを恐れないでください.彼らは無料で計画を超越している場合にのみ充電されます. AWSピンポイントコンソールからプッシュ通知をテストするにはdocument . 初心者のためのノードのJSチュートリアルを求めてください.おすすめしますthis .
私は、あなたがノードJSの基本的な知識を持っていると思っています.まだここからプロジェクトを設定できます
対:https://code.visualstudio.com/docs/nodejs/nodejs-tutorial
MDNhttps://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/development_environment
したがって、我々がノードJS SDKを通過するので、状況はここで単純でありませんDocument .
領域:あなたはAWSコンソールの右上のコーランの領域を得ます.
Applications . id : AWSコンソールのピンポイントを検索します.新しいプロジェクトを追加します.これは、設定機能を要求するプッシュ通知を選択します.それはプッシュ通知サービスについては、FCMを選択し、FCMのサーバーのキーをFCMのコンソールから追加します.あなたはプロジェクトの設定を取得します.
プロジェクトが正常にAWS PinPointで作成されたとき、プロジェクトIDとしてアプリケーションID名を取得します.
FCMトークン:あなたが働いているモバイルプロジェクトに応じてデバイスからFCMトークンを取得します.以下はセットアップのためのリファレンスです
アンドロイドhttps://firebase.google.com/docs/cloud-messaging/android/client
IOShttps://firebase.google.com/docs/cloud-messaging/ios/client
ネイティブに反応するhttps://firebase.google.com/docs/cloud-messaging/ios/client
テストの前に既に通知を要求したことを確認してください.
FCMペイロード構造に従ってバックグラウンド通知をサポートしたいので、私はrawcontentに慣れました.あなたの周りのプロパティを再生することができますhere .
それで、あなたのリクエストコントローラで
APIをヒットし、マジックを参照してください
すべてのドキュメントのリンクが添付されます.あなたがチェックすることができますし、フィードバックを追加する自由を感じる.
ハッピーコーディング😄😄
だからここで何が起こるか、私は密接に私のクライアントといくつかの方法で働いていたFCM Push Notifications 我々の端でうまく働いています.しかし、我々はテストするためにFCM HTTP APIを使用していました.AWSピンポイントを使用していました.今では、Pythonで書かれたSDKとサーバの衝突以来.
AWSはほぼすべてのサーバ言語サポートを提供しており、ほぼ2年前にノードJSで働いています.それで、私は戻って、単純なサーバーを作成することに決めました.だから私は無料AWSアカウントを作成し、移動するSDK for Node JS .
注意:
私は、あなたがノードJSの基本的な知識を持っていると思っています.まだここからプロジェクトを設定できます
対:https://code.visualstudio.com/docs/nodejs/nodejs-tutorial
MDNhttps://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/development_environment
{
"name": "aws-sdk-v3-iam-examples",
"version": "1.0.0",
"main": "index.js",
"dependencies": {
"@aws-sdk/client-s3": "^3.32.0"
},
"type": "module"
}
これによりAWS S 3クライアントをインストールします.しかし、我々の要件は、ピンポイントを使用して通知をテストすることです待ってください.それで、パッケージの中でdepedenciesを加えます.以下のJSONのように{
"name": "FCM Test Server",
"version": "1.0.0",
"main": "index.js",
"author": "Abhishek Thapliyal",
"dependencies": {
"@aws-sdk/client-pinpoint": "^3.54.1",
"aws-sdk": "^2.1094.0"
},
"type": "module"
}
依存をインストールするために以下のコマンドを押してくださいnpm install
現在一人当たりofficial document , プッシュ通知をテストするためのノードJS例は、以下のように更新されます.Docでは他のターゲットと同様にAPNS、Baidu等が表示されますが、FCMを必要とするので他のサービスも削除します."use strict";
const AWS = require("aws-sdk");
const region = "<REGION>";
var applicationId = "<APPLICATION_ID>";
var recipient = {
token: "<FCM TOKEN>",
service: "GCM",
};
function CreateMessageRequest() {
var token = recipient["token"];
var service = recipient["service"];
if (service == "GCM") {
var messageRequest = {
Addresses: {
[token]: {
ChannelType: "GCM",
},
},
MessageConfiguration: {
GCMMessage: {
RawContent: `{
"notification": {
"title": "AWS Pinpoint Notification title",
"body": "AWS Pinpoint Notification body",
"sound": "default",
"content_available": true
},
"data": {
"url": "katapult://leases/118636"
},
"priority": "high"
}`,
},
},
};
}
return messageRequest;
}
function ShowOutput(data) {
if (
data["MessageResponse"]["Result"][recipient["token"]]["DeliveryStatus"] ==
"SUCCESSFUL"
) {
var status = "Message sent! Response information: ";
} else {
var status = "The message wasn't sent. Response information: ";
}
console.log(status);
console.dir(data, { depth: null });
}
function SendMessage() {
var token = recipient["token"];
var service = recipient["service"];
var messageRequest = CreateMessageRequest();
var credentials = new AWS.SharedIniFileCredentials({ profile: "default" });
AWS.config.credentials = credentials;
AWS.config.update({ region: region });
var pinpoint = new AWS.Pinpoint();
var params = {
ApplicationId: applicationId,
MessageRequest: messageRequest,
};
pinpoint.sendMessages(params, function (err, data) {
if (err) console.log(err);
else ShowOutput(data);
});
}
exports.SendMessage = SendMessage;
現在、領域、ApplicationKeep IDとFCMトークンを交換しなければなりません.領域:あなたはAWSコンソールの右上のコーランの領域を得ます.
Applications . id : AWSコンソールのピンポイントを検索します.新しいプロジェクトを追加します.これは、設定機能を要求するプッシュ通知を選択します.それはプッシュ通知サービスについては、FCMを選択し、FCMのサーバーのキーをFCMのコンソールから追加します.あなたはプロジェクトの設定を取得します.
プロジェクトが正常にAWS PinPointで作成されたとき、プロジェクトIDとしてアプリケーションID名を取得します.
FCMトークン:あなたが働いているモバイルプロジェクトに応じてデバイスからFCMトークンを取得します.以下はセットアップのためのリファレンスです
アンドロイドhttps://firebase.google.com/docs/cloud-messaging/android/client
IOShttps://firebase.google.com/docs/cloud-messaging/ios/client
ネイティブに反応するhttps://firebase.google.com/docs/cloud-messaging/ios/client
FCMペイロード構造に従ってバックグラウンド通知をサポートしたいので、私はrawcontentに慣れました.あなたの周りのプロパティを再生することができますhere .
それで、あなたのリクエストコントローラで
const { SendMessage } = require("./Location /to/pinpoint\_notification\_service.js");.
..
...
SendMessage();
あなたの要件ごとにフローを作るために、async waitを使ってください.APIをヒットし、マジックを参照してください
すべてのドキュメントのリンクが添付されます.あなたがチェックすることができますし、フィードバックを追加する自由を感じる.
ハッピーコーディング😄😄
Reference
この問題について(多田:AdedJSとFCMのAWSピンポイントプッシュ通知の一致), 我々は、より多くの情報をここで見つけました https://dev.to/abhishek9634/tada-coincidence-of-nodejs-and-fcm-with-aws-pinpoint-push-notifications-2plbテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol