差分

ナビゲーションに移動 検索に移動

Xamarin.AndroidでFirebase Cloud Messagingを使う

491 バイト追加, 2019年1月25日 (金) 07:30
編集の要約なし
'''RenderScript'''とは、[[AndroidFirebase Cloud Messaging]]が採用、搭載している(FCM)はAndroidアプリやiOSアプリなどに対して[[CUDAプッシュ通知]]に似た[[プログラマブルシェーダー]]である。の一斉配信を簡単に実装できるスグレモノ。
== 概要 ==RenderScriptはAndroid 3.0で登場した機能で、もともとはその名前のとおり3Dレンダリングするためのものであったが、いろいろと試行錯誤を繰り返したのち、Android 4.2でそれらは廃止され、現在ではいわゆるFCMは[[OpenCL]]や[[CUDA]]などと類似する[[GPGPU]]向けの[[コンピュートシェーダーXamarin.Android]]と2D画像処理向けの組み込み関数群というかたちに落ち着いている。からも簡単に利用できる。マジオススメ。
このような歴史的背景から名前は「RenderScript」だが実質的には「ComputeScript」である。==大雑把な流れ==
Androidには標準で#自前[[CPUサーバー]]などから[[ドライバGoogle]]が含まれており、とりあえずAndroid 4.2以降であればのFCMサーバーにメッセージ送信、または[[GPUFirebase]]がショボい端末でも動くという特徴がある。の管理画面でメッセージを作り送信#GoogleのFCMサーバーからAndroidデバイスに送信#AndroidデバイスはブロードキャストインテントでAndroidアプリに送信#Androidアプリが処理をする
Androidが採用している[[Java]]や[[Kotlin]]は[[ビットマップ]]を[[ピクセル]]単位で処理する、いわゆる「[[ポインタ]]を使ってぶん回す」系の処理には死ぬほど向いていない。それを補うのがRenderScriptであり、主に[[Java]]で書くと死ぬほど遅い[[2D]]の[[画像処理]]を書くのに使われる。[[スマホ]]のしょぼい[[GPU]]では「[[GPGPU]]だから速い」という利点はほぼなく、どちらかというと[[Java]]では記述の難しい部分を補う手法、かつ[[NDK]]([[C言語]])のように[[SoC]]に依存するものではない手法という意味合いが強い。==大雑把な制限==
==Xamarin.Android==ちなみに[[Xamarin.Android]]ではRenderScriptは一部しかサポートされておらずカスタムカーネル(独自プログラム)などは利用できない。ただXamarin.AndroidではC#がポインタをサポートしているのでRenderScriptを使わずともポインタをぶん回す方法である程度は突破できる。*メッセージ長は最大4KB
==関連項目大雑把な導入手順==[[MSDN]]にも同様の説明があるが日本語版は機械翻訳なのか意味不明すぎるので英語版を読んだ方がわかりやすい。
*[[CUDA]]*[[OpenCL]]*[[DirectCompute]]https://docs.microsoft.com/en-us/xamarin/android/data-cloud/google-messaging/remote-notifications-with-fcm?tabs=macos
==参考文献=アプリに権限を追加する===アプリに以下の権限を追加する。GoogleのFCMサーバーを経由してのプッシュ通知なので[[インターネット]]に繋がっている必要がある。
*https://developer.android.com/about/versions/android-3.0-highlights.html#graphic*https://developer.android.com/about/versions/android-4.2*https://developer.android.com/guide/topics/renderscript/computeInternet
===アプリにパッケージを追加する===アプリに[[カテゴリ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で通知を表示する]]* [[Xamarin.Androidで通知を表示しアプリを起動する]] == 参考 == *Firebase Cloud Messaging*:https://firebase.google.com/docs/cloud-messaging/ [[カテゴリcategory:Xamarin.Android]]
匿名利用者

案内メニュー