いつもお世話になっておりますmm
こちらの記事を参考にしながら、プッシュ通知を実装しようとしています。
前まで、普通にdataが取ってこれていたと思うのですが
急にFirebaseのdataが取ってこれなくなってしまいました。
バージョンは下記です。
"firebase-admin": "^5.12.0", "firebase-functions": "^1.0.1"
エラー内容&困っていること
下記のソースコードで
console.log('event', event);
をした結果は下記のように表示されるのですが
event { before: DataSnapshot { app: FirebaseApp { firebaseInternals_: [Object], services_: {}, isDeleted_: false, name_: '__admin__', options_: [Object], INTERNAL: [Object] }, instance: 'https://[project_name].firebaseio.com', _path: '/deals/AAAAAAAAAAAAA', _data: null }, after: DataSnapshot { app: FirebaseApp { firebaseInternals_: [Object], services_: {}, isDeleted_: false, name_: '__admin__', options_: [Object], INTERNAL: [Object] }, instance: 'https://[project_name].firebaseio.com', _path: '/deals/AAAAAAAAAAAAA', _data: 'hoge' } }
console.log('item', item);
はundefinedとなってしまいます。
item undefined
ソースコード
JavaScript
1admin.initializeApp(functions.config().firebase); 2 3// 取引が成立した時のプッシュ 4 5exports.dealPush = functions.database.ref('/deals/{dealId}') 6.onWrite(event => { 7 8 console.log('event', event); 9 const item = event.data; 10 console.log('item', item); 11 const ownerId = item.child("ownerId").val(); 12 const payload = { 13 notification: { 14 body: "取引が成立しました", 15 badge: "1", 16 sound: "default" 17 } 18 }; 19 20 getTargetFcmToken(ownerId, function(token) { 21 pushToDevice(token, payload); 22 }); 23});
他に試してみたこと
event._data
やevent.child("data")
など試してみましたが一行にできませんした・・・(汗
- 追記
StackoverFlowにあったみたいに
exports.dealPush = functions.database.ref('/deals/{dealId}')
を
exports.dealPush = functions.database.ref(`/deals/{dealId}`)
にクオテーション変えてみましたが、変化ありませんでした。
回答2件
あなたの回答
tips
プレビュー