「Unity/Firebase/CloudFunctions」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→初期化) |
(→参考) |
||
| 行58: | 行58: | ||
https://devlog.hassaku.blue/2019/03/unity-firebase-firebase.html | https://devlog.hassaku.blue/2019/03/unity-firebase-firebase.html | ||
| + | |||
| + | https://firebase.google.com/docs/reference/unity/class/firebase/functions/firebase-functions | ||
2019年7月10日 (水) 17:56時点における版
準備
Gcp/Firebase/CloudFunctions [ショートカット]
import
FirebaseFunctions.unitypackage をunityのAssets/ImportPackage/CustomPackageからImportする
初期化
FirebaseFunctions functions = Firebase.Functions.DefaultInstance;
東京リージョンの場合
FirebaseFunctions functions = FirebaseFunctions.GetInstance("asia-northeast1");
firebaseのサーバー側変更
functions.https.onCall を使ってシリアル&認証トークンで接続するようにする
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
exports.addEntry = functions
.region('asia-northeast1')
.https.onCall((data, context) =>
{
const entry = {
name : data.name,
point : data.point
};
return admin.firestore().collection('entries')
.add(entry)
.then((snapshot) =>
{
return 'OK';
});
});
// トップcount件のEntryを取得
exports.getTopEntries = functions
.region('asia-northeast1')
.https.onCall((data, context) =>
{
const count = data.count;
return admin.firestore().collection('entries')
.orderBy('point', 'desc')
.limit(count)
.get()
.then((qSnapshot) =>
{
return {
entries : qSnapshot.docs.map(x => x.data())
};
});
});
参考
https://firebase.google.com/docs/functions/callable?hl=ja
https://devlog.hassaku.blue/2019/03/unity-firebase-firebase.html
https://firebase.google.com/docs/reference/unity/class/firebase/functions/firebase-functions
