あなたがアンドロイド、iOS、およびクライアントサイドのWebアプリケーションである3つのプラットフォームすべてで通知を受ける予定であると書いてあるので、 firebaseを使って、リアルタイムの通知や望ましいデータを得ることができますが、これを達成するためには、お互いに比べるとプロセスが少しずつ異なります。 まず、いずれかを選択して実装を開始する必要があります。 開始から始めましょう...
firebaseをアプリケーションに使用してhttps://console.firebase.google.com/にプロジェクトを作成する一般的なプロセスです。
プロジェクトを作成すると、アプリケーションで使用されるfirebase鍵を見ることができます。これはhttps://console.firebase.google.com/project/project-[your_project_number]/overviewにあります。
あなたはこれを既に済ませていますが、https://console.firebase.google.com/project/project-[your_project_number]/database/rulesとhttps://console.firebase.google.com/project/project-[your_project_number]/storage/rulesにデータベースとストレージのパーミッションを与えることを忘れないでください。ただそれはあなたがで任意のverifactionのに公に必要にそれを使用することはできないことを定義します
service firebase.storage {
match /b/project-[your_project_number].appspot.com/o {
match /{allPaths=**} {
allow read, write;
}
}
}
...ただ、これを残して...保存のために
{
"rules": {
".read": true,
".write": true
}
}
をこれを残すデータベースの
firebase end。任意の種類の確認を追加する場合は、https://console.firebase.google.com/project/project-[your_project_number]/authentication/providersにアクセスしてください。
今すぐSERVER to WEB APPLICATION通知を開始してください。まずは、Android、iOS、Web(指定したGoogle Chrome)のみでFCM(firebase cloud messaging)を実装できることをお知らせします。ですから、すべてのブラウザでそれを使用するには、firebaseデータベースを実装する必要があります。js側です。あなたは、あなたが概要で見たようなものを置く必要があります。
<script src="https://www.gstatic.com/firebasejs/3.1.0/firebase.js"></script>
<script>
// Initialize Firebase
var config = {
apiKey: "your_api_key",
authDomain: "project-[your_project_number].firebaseapp.com",
databaseURL: "https://project-[your_project_number].firebaseio.com",
storageBucket: "project-[your_project_number].appspot.com",
};
firebase.initializeApp(config);
</script>
イベントまたは通知をトリガーするサーバー側では、CURLを使用できます。あなたはNode.jsを使用していると述べているので、https://firebase.google.com/docs/server/setup#add_firebase_to_your_appがあなたを助けることができます。 私はCodeIgniterを使ってPHP上のサーバー側でCURLを適用することでそれを達成しました。私は以下のコードを添付しています。あなたはのは、それがサーバ側から発射されたときに、我々は、通知を得ることができる方法を見てみましょう今ここにCURL例https://firebase.google.com/docs/database/rest/save-data#section-put
<?php
if (!defined('BASEPATH')) exit('No direct script access allowed');
//PHP CURL FOR NOTIFICATION
function booking_notification($notif_arr, $notif_type)
{
//GET CI
$CI =& get_instance();
$url = 'put_your_firebase_database_url_here';
$key = 'put_firebase_key';
$notif_arr = {'Key':'values'};//THIS IS THE DATA WHAT YOU WILL NEED TO SHOW ON FRONT END TO NOTIFY
$notif_type = 'notification'; //THIS IS THE NAME JSON WHICH WILL BE CREATED IF NOT EXIST AT FIREBASE DATABASE
$headers = array(
'Authorization: key=' . $key,
'Content-Type: application/json'
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url."/".$notif_type.".json");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Disabling SSL Certificate support temporarly
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($notif_arr));
// Execute post
$result = curl_exec($ch);
if ($result === FALSE) {
die('Curl failed: ' . curl_error($ch));
// Close connection
curl_close($ch);
return FALSE;
}
else
{
// Close connection
curl_close($ch);
return TRUE;
}
}
を見ることができます。
JAVASCRIPT
var fireBaseJSONref = firebase.database().ref().child("notification"); //BY THIS YOU CAN GET THE JSON OF FIREBASE DATABASE
fireBaseJSONref.on('child_added', function(snapshot) {
if (!ignoreItems) {
console.log(snapshot.val());//THIS WILL PRINT THE DATA WHAT YOU HAVE TRIGGERD FROM SERVER
}
});
/* WHEN FIRST TIME ANY DATA SENT TO DATABASE OF FIREBASE AFTER PAGE LOAD */
fireBaseJSONref.once('value', function(snapshot) {ignoreItems = false}); //THIS WILL HELP YOU TO NOT TO CALL FOR PREVIOUSLY ADDED ITEM IN FIREBASE DATABASE. WHEN NEW DATA WILL BE ONLY THEN IT WILL CALL.
これはあなたを助ける、あなたが混乱した場所を把握します。これはあなたのために働くかどうか私に教えてください、私はアンドロイドとiOSのためにもそれを改善します。
あなたは基本をかなりよく理解しているようです。残念ながら、オフサイトのリソースを推奨するのはスタックオーバーフローに関する話題です。つまり、この答えは、[node.jsスクリプトを使ってメッセージを送信する方法]を示しています。(0120-18753-03) –
これはかなり良いリンクです。男、私はこのコミュニティで長く知っていました。フィードバックをお寄せいただきありがとうございます!このサイトまたは他のコミュニティのセクションには、そのタイプの質問に適しているかどうかがありますか? – Liquidmetal
私は具体的にあなたが書類に書かれていると思われるものに興味があります。いくつか例を挙げていただけますか? –