FCMトピックの購読を使用して、ユーザーが自分の好きなチームを購読できるようにするライブスコアアプリを開発しています。fcmを使用したFirebaseライブスコアプッシュ通知
今はデバイスに定期的な通知を送信できます。コンソール、管理ノード、休止APIを使用して手動で通知を送信できます。ユーザーが定期購読するサブスクリプショントピックでも、特定の登録のサブスクリプションid。
So ...ユーザーが購読しているトピックはチームID(フットボールチーム)なので、いくつかのゲームイベントが発生したときに特定のトピックを購読しているユーザーに通知します、半分の時間、後半の半分の開始、ゲームの終了)プッシュ通知システムの非常に一般的な使用例です。
私はfirebaseデータベースに私のゲームデータを格納し、私は外部プロバイダからそれを取得し、「リアルタイム」に更新され、次のようになります。
{
"AwayTeamShort": "ANZ",
"League": "Russian Premier League",
"comp_id": "1457",
"events": [
{
"assist": "G. Gabulov",
"assist_id": "29779",
"extra_min": "",
"id": "23177131",
"minute": "46",
"player": "M. Kazankov",
"player_id": "113277",
"result": "",
"team": "localteam",
"type": "subst"
},
{
"assist": "",
"assist_id": "",
"extra_min": "",
"id": "23177132",
"minute": "57",
"player": "I. Yediev",
"player_id": "",
"result": "",
"team": "localteam",
"type": "yellowcard"
},
{
"assist": "K. Bazelyuk",
"assist_id": "269373",
"extra_min": "",
"id": "23177133",
"minute": "57",
"player": "A. Katsaev",
"player_id": "92363",
"result": "",
"team": "visitorteam",
"type": "subst"
},
{
"assist": "J. Lipartia",
"assist_id": "41506",
"extra_min": "",
"id": "23177134",
"minute": "58",
"player": "K. Mamtov",
"player_id": "29851",
"result": "",
"team": "visitorteam",
"type": "subst"
},
{
"assist": "E. Balyajkin",
"assist_id": "6770",
"extra_min": "",
"id": "23177135",
"minute": "67",
"player": "N. Kalinski",
"player_id": "",
"result": "",
"team": "localteam",
"type": "subst"
},
{
"assist": "R. Koryan",
"assist_id": "123728",
"extra_min": "",
"id": "23177136",
"minute": "68",
"player": "M. Markovic",
"player_id": "139251",
"result": "[1-0]",
"team": "localteam",
"type": "goal"
},
{
"assist": "P. Yakovlev",
"assist_id": "82061",
"extra_min": "",
"id": "23177137",
"minute": "71",
"player": "P. Dolgov",
"player_id": "309265",
"result": "",
"team": "visitorteam",
"type": "subst"
},
{
"assist": "R. Koryan",
"assist_id": "123728",
"extra_min": "",
"id": "23177138",
"minute": "72",
"player": "V. Nikiforov",
"player_id": "26213",
"result": "",
"team": "localteam",
"type": "subst"
},
{
"assist": "",
"assist_id": "",
"extra_min": "",
"id": "23177139",
"minute": "89",
"player": "A. Dovbnya",
"player_id": "123582",
"result": "",
"team": "localteam",
"type": "yellowcard"
},
{
"assist": "",
"assist_id": "",
"extra_min": "2",
"id": "231771310",
"minute": "90",
"player": "T. Phibel",
"player_id": "58795",
"result": "",
"team": "visitorteam",
"type": "yellowcard"
},
{
"assist": "",
"assist_id": "",
"extra_min": "2",
"id": "231771311",
"minute": "90",
"player": "S. Bryzgalov",
"player_id": "122214",
"result": "",
"team": "visitorteam",
"type": "yellowcard"
},
{
"assist": "V. Nikiforov",
"assist_id": "26213",
"extra_min": "5",
"id": "231771312",
"minute": "90",
"player": "N. Kalinski",
"player_id": "",
"result": "[2-0]",
"team": "localteam",
"type": "goal"
}
],
"formatted_date": "08.08.2017",
"ft_score": "[2-0]",
"ht_score": "[0-0]",
"id": "2211727",
"localteam_id": "14810",
"localteam_name": "SKA Khabarovsk",
"localteam_score": "2",
"region": "Russia",
"season": "2017/2018",
"status": "FT",
"time": "08:00”,
"venue": "Stadion imeni V.I. Lenina (Khabarovsk)",
"venue_city": "Khabarovsk",
"venue_id": "88600",
"visitorteam_id": "14786",
"visitorteam_name": "FK Anzi Makhackala",
"visitorteam_score": "0",
"week": "5"
}
ユーザーがJSONでチームIDにサブスクライブチームIDの上にはvisitorteam_id、localteam_id、これらのIDはそのチームでは常に同じですが、訪問者かローカルかは関係ありません。インスタンスID APIの
私のサブスクリプションは、(私は、DBに格納しますが、この質問には関係ありません)のようになります。
{
"application":"com.iid.example",
"authorizedEntity":"123456782354",
"platform":"Android",
"attestStatus":"ROOTED",
"appSigner":"1a2bc3d4e5",
"connectionType":"WIFI",
"connectDate":"2017-08-07
"rel":{
"topics":{
"42332":{"addDate":"2017-08-07"},
"14810":{"addDate":"2017-08-07"},
"14786":{"addDate":"2017-08-07"}
}
}
}
だから... ...どのように私が購読のデバイスに通知することができます彼らが加入しているチームがプレーしているゲームの目標についての特定のトピック(チームID)
シモンズ:私はおそらく解決策は複雑であることを知っているが、すべてのヘルプ、例がFirebaseクラウド機能を使用してみてください
こんにちはJavi、私は話題を購読することができますと私のjsonで作業し、特定のトピックに、例えば接続するアプローチの詳細については、 –