ページ「R-TYPE I (PCエンジン)」と「Xamarin.AndroidでFirebase Cloud Messagingを使う」の間の差分

提供: MonoBook
(ページ間の差分)
ナビゲーションに移動 検索に移動
 
 
1行目: 1行目:
'''R-TYPE I (PCエンジン)'''とは、[[ハドソン]]から発売した[[PCエンジン]]版の[[R-TYPE]]である。
+
[[Firebase Cloud Messaging]](FCM)はAndroidアプリやiOSアプリなどに対して[[プッシュ通知]]の一斉配信を簡単に実装できるスグレモノ。
  
Huカードに搭載するROMチップの調達の関係で「R-TYPE I」と「R-TYPE II」に分割されて発売された。なお後発となった海外版は1枚に収められて発売された。
+
FCMは[[Xamarin.Android]]からも簡単に利用できる。マジオススメ。
  
家庭用テレビの解像度の関係で上下にスクロールする。
+
==大雑把な流れ==
  
オリジナルである[[アイレム]]版の[[R-TYPE]][[リバースエンジニアリング]]して開発された。
+
#自前[[サーバー]]などから[[Google]]のFCMサーバーにメッセージ送信、または[[Firebase]]の管理画面でメッセージを作り送信
 +
#GoogleのFCMサーバーからAndroidデバイスに送信
 +
#AndroidデバイスはブロードキャストインテントでAndroidアプリに送信
 +
#Androidアプリが処理をする
  
メインプログラマーは和泉勇さんである。
+
==大雑把な制限==
  
アイレム版と異なりPCエンジン版は「[[処理落ち]]」しないのが特徴。
+
*メッセージ長は最大4KB
  
岩崎啓眞さんが暴露してしまった。<blockquote>R-TYPEのカード版は、実はPCエンジンでは許されないモードを使っている(原理的には可能だけど使ってはいけません、という意味)。PCエンジンでは320ドットモードではスプライトが16個並ぶ設定を使ってはいけなくて、スプライトが並ぶ数は最大14個までになる。</blockquote><blockquote>なぜかというと16個並ぶ設定にするとVRAMのアクセスタイムを超えるスピードで駆動する、今でいうオーバークロック状態になり、動作保証できないからダメだったのだが、そんなことを知らない和泉さんのチームは、使ってしまったわけ。</blockquote><blockquote>発売されてから、NECが知るところになり「知らなかったし、出ちゃったからしょうがない、これだけ特例だけど、もうやっちゃダメ」とものすごく釘を刺され、以降、あらゆるROMがそうなっていないかNECがチェックするようになったという曰くつきの代物だったりする。<nowiki>http://www.highriskrevolution.com/gamelife/index.php?e=53</nowiki></blockquote>[[スーパーCD-ROM2]]で発売した[[R-TYPE COMPLETE CD]]は[[スプライト]]が16個から14個に変更され、かわりに14個以上並ぶ場合はスプライトを交互に表示することで画面はチラチラするが擬似的に最大16個表示させている。
+
==大雑把な導入手順==
 +
[[MSDN]]にも同様の説明があるが日本語版は機械翻訳なのか意味不明すぎるので英語版を読んだ方がわかりやすい。
  
PCエンジン版のR-TYPEの広報を担当したのは後にゲームデザイナーに転身する[[桝田省治]]さんである。
+
*https://docs.microsoft.com/en-us/xamarin/android/data-cloud/google-messaging/remote-notifications-with-fcm?tabs=macos
 +
 
 +
===アプリに権限を追加する===
 +
アプリに以下の権限を追加する。GoogleのFCMサーバーを経由してのプッシュ通知なので[[インターネット]]に繋がっている必要がある。
 +
 
 +
*Internet
 +
 
 +
===アプリにパッケージを追加する===
 +
アプリに[[NuGet]]から以下の2つのパッケージを追加する。
 +
 
 +
*Xamarin.GooglePlayServices.Base
 +
*:Androidデバイスが[[Google Play]]対応機種かの判別に使用
 +
*Xamarin.Firebase.Messaging
 +
*:FCMそのもの
 +
 
 +
===Firebaseに新しいプロジェクトを作る===
 +
[[ウェブブラウザ]]で[[Firebase]]の管理画面を開き、新しいプロジェクトを作る。
 +
 
 +
*https://console.firebase.google.com
 +
 
 +
新しいプロジェクトを作る際にAndroidアプリ(のパッケージ名)を登録する。このパッケージ名宛にメッセージが届くようになる。
 +
 
 +
一通り登録が終わると「google-services.json」が[[ダウンロード]]できる。[[Visual Studio for Mac]]上のプロジェクトに「google-services.json」を追加する。この[[ファイル]]を追加したら[[右クリック]]してビルドアクションに「GoogleServicesJson」と設定する。ビルドアクション一覧に「GoogleServicesJson」が表示されない[[バグ]]らしきものがあったが、ソリューションを閉じてから再度開いたら表示された。
 +
 
 +
===プログラムを実装する===
 +
[[ソース読め]]。[[あとは勇気だけだ]]
 +
 
 +
*https://developer.xamarin.com/samples/monodroid/Firebase/FCMNotifications/
  
 
== 関連項目 ==
 
== 関連項目 ==
* [[ネクタリス]]
+
* [[Xamarin.Androidで通知を表示する]]
* [[イースI・II]]
+
* [[Xamarin.Androidで通知を表示しアプリを起動する]]
* [[ぎゃんぶらぁ自己中心派]]
+
 
 +
== 参考 ==
 +
 
 +
*Firebase Cloud Messaging
 +
*:https://firebase.google.com/docs/cloud-messaging/
 +
 
 +
[[category: Xamarin.Android]]

2019年1月25日 (金) 07:30時点における最新版

Firebase Cloud Messaging(FCM)はAndroidアプリやiOSアプリなどに対してプッシュ通知の一斉配信を簡単に実装できるスグレモノ。

FCMはXamarin.Androidからも簡単に利用できる。マジオススメ。

大雑把な流れ[編集 | ソースを編集]

  1. 自前サーバーなどからGoogleのFCMサーバーにメッセージ送信、またはFirebaseの管理画面でメッセージを作り送信
  2. GoogleのFCMサーバーからAndroidデバイスに送信
  3. AndroidデバイスはブロードキャストインテントでAndroidアプリに送信
  4. Androidアプリが処理をする

大雑把な制限[編集 | ソースを編集]

  • メッセージ長は最大4KB

大雑把な導入手順[編集 | ソースを編集]

MSDNにも同様の説明があるが日本語版は機械翻訳なのか意味不明すぎるので英語版を読んだ方がわかりやすい。

アプリに権限を追加する[編集 | ソースを編集]

アプリに以下の権限を追加する。GoogleのFCMサーバーを経由してのプッシュ通知なのでインターネットに繋がっている必要がある。

  • Internet

アプリにパッケージを追加する[編集 | ソースを編集]

アプリにNuGetから以下の2つのパッケージを追加する。

  • Xamarin.GooglePlayServices.Base
    AndroidデバイスがGoogle Play対応機種かの判別に使用
  • Xamarin.Firebase.Messaging
    FCMそのもの

Firebaseに新しいプロジェクトを作る[編集 | ソースを編集]

ウェブブラウザFirebaseの管理画面を開き、新しいプロジェクトを作る。

新しいプロジェクトを作る際にAndroidアプリ(のパッケージ名)を登録する。このパッケージ名宛にメッセージが届くようになる。

一通り登録が終わると「google-services.json」がダウンロードできる。Visual Studio for Mac上のプロジェクトに「google-services.json」を追加する。このファイルを追加したら右クリックしてビルドアクションに「GoogleServicesJson」と設定する。ビルドアクション一覧に「GoogleServicesJson」が表示されないバグらしきものがあったが、ソリューションを閉じてから再度開いたら表示された。

プログラムを実装する[編集 | ソースを編集]

ソース読めあとは勇気だけだ

関連項目[編集 | ソースを編集]

参考[編集 | ソースを編集]