概要 以前から利用していたFirebaseのCloud MessagingAPI(レガシー)の期限が迫ってきました。 で、Firebase Cloud Messaging API(V1)に移行が必要なのですが、これをすると困ることがあります。 それは、いままでDebug用のアプリメニューから、Push通知テストを試すコマンドをSlackに送る仕組みを作っていたのですが、その仕組みがそのままでは使えなくなりますし、面倒になります。 ので、その対応の記事です。 何が面倒になる? レガシーの場合は、Pushのテストをするときに、HttpヘッダーのAuthorization に固定のキーを入れておけばよかったのですが、これからは、アクセストークンに変わります。(セキュリティが強化されました) アクセストークンは、秘密鍵を使って生成できますが、それをアプリに入れることはできません。 レガシーの頃の固
FirebaseUI日本語対応 FirebaseUIはデフォルトで下記のように英語になっています。 これを日本語に変更する方法を紹介します! FirebaseUIを日本語に変更する方法を紹介します! PROJECT > Info > Localization > +からJapanese選択し、追加 Main.storyboardとLaunchScreen.storyboardファイルを選択し、Finishをおす! そうすると選択したMain.storyboardとLaunchScreen.storyboardに日本語と英語に対応のStrings Fileが作成されています! シミュレーターの設定 > 一般 > 言語と地域 > 優先する言語を日本語にするとFirebaseUIを日本語対応することができました! FirebaseUI多言語対応 日本語と英語のみならず、FirebaseUI多言語
はじめに 下の画像を見てください。これはとあるアプリの Firebase Console の App Check の Cloud Firestore のモニタリング画面です。この画面で 不正リクエストがどのくらいあるかが確認できます。 え?小さくてよくわかりませんか?もう少し拡大してみましょう。 ↓拡大してみました。不正リクエストは 2% ありました。30日間で不正リクエストは57万回あったということです! さらに Authentication は 18% も不正リクエストがありました! これは、どうにかしないといけない。。。ということで、最近 Firebase App Check を個人開発した Flutter アプリに導入したので、導入手順について紹介します! コードの修正は簡単ですが、Firebase 側の設定がなかなか難解ですし、公式サイト は手順がひとつにまとまっていなくてわかり
これはなに? こんにちは、エンジニアの冨永です! モバイルアプリを開発していると、コード量や処理が増えることで徐々に起動時間が遅くなることがありますよね。SNKRDUNK でも一時期起動時間が遅くなっていて改善をしたことがあります。 この記事では、その改善をするために取り組んだことをまとめました。 Firebase Performance Monitoring の導入 Firebase Performance Monitoring とは Firebase Performance Monitoring サービスを使用すると、Apple アプリ、Android アプリ、ウェブアプリのパフォーマンス特性を把握できます。 Performance Monitoring SDK を使用してアプリからパフォーマンス データを収集し、Firebase コンソールでデータのレビューと分析を行います。これによ
はじめに 2023年3月末にiOS 16.4がリリースされたことで、ついにすべてのモダンブラウザユーザーに対してWeb Pushを送れるようになりました。 本記事は、筆者が個人開発しているWebサービスでWeb Push機能を実装したときに調べたことや行ったことをメモとして残すものです。Web Push機能の実装を検討されている方の参考になりましたら幸いです。 なお、筆者は外部サービスへの依存をなるべく減らしたかったため、FCMなどのプッシュ通知機能を提供してくれるものはなるべく使わずに実装したのですが、大変だったので基本的には素直にSaaS等を使った方がよいと思います。 注意事項として、筆者はバックエンドに専門性がありません。そのため、何か間違った記述があるかもしれません。特に暗号化周りは理解が甘い点があると思います。もし誤りを発見された場合は優しめに教えていただけると助かります。よろし
今回のケースでは、後者のバックエンド側でリンクを作成する方法が該当します。 SDK内部の処理を追ってみた Firebaseの公式ドキュメントでもあるように、アプリがインストール済みの場合にユニバーサルリンクとして受信されるリンクの処理があります。 func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool { let handled = DynamicLinks.dynamicLinks() .handleUniversalLink(userActivity.webpageURL!) { dynamiclink, error in
iOS でも Web Push が送れる!microCMS と Firebase Cloud Messaging を使った実装方法 お初にお目にかかります(?) chot Inc. で Web エンジニアをしているすてぃんです。 もう 1 ヶ月前ですが iOS Safari でプッシュ通知に対応したバージョンのベータ版が発表されましたね。 Web のプッシュ通知は、シェアの大きい iOS が対応してくれなかったのであまり実用的ではありませんでしたが、これからは Web でも多くのユーザーに能動的に新着情報を伝えることができるようになります。 本記事では Firebase Cloud Messaging(以降 FCM と表記) を用いた Web Push 通知の実装方法を、架空のメディアサイトを実装しながら紹介します。 FCM 以外には microCMS と Next.js を使用します。m
How does it work? When you enable App Check for a service and include the client SDK in your app, the following happens periodically: Your app interacts with the provider of your choice to obtain an attestation of the app or device's authenticity (or both, depending on the provider). The attestation is sent to the App Check server, which verifies the validity of the attestation using parameters re
1年と2ヶ月かけて開発していたアプリがリリースできたので記事にしました。 詳しい開発のログは以下のスクラップにまとめています 👌 リリースしたアプリ ダウンロードはこちら。 ■ iOS ■ Android LPサイト アプリを開発したきっかけ 以前から週1で家族の振り返りの時間を設けていて、今週あった出来事を互いに共有して議事録に残すことを習慣にしていました。 ただ、上記の運用をしている間に以下のような問題があることに気づきました。 振り返りの際に、今週の出来事を思い出せない まとまった期間の振り返りたいときに、テキスト情報のみだとピックアップしづらい 良かった出来事のみピックアップしたい 振り返りを開催する時間が毎回ズレる 日付を忘れてスキップしてしまう そこで、上記を改善するためアプリを家族で開発しようという話になりました。 どんなアプリ? memoirは1週間を振り替えるアプリとし
iOS14でのコピペ内容(UIPasteboard)取得警告について ※Firebase DynamicLinksを導入している場合は要注意!iOSライブラリSwiftiOS14 おことわり この記事は、iOS 14 Beta2 での情報を元に書いています。 バージョンアップなどにより最新の情報と異なっている可能性がありますので、ご注意ください。 前置き iOS 14 Betaにアプリがコピペ内容を読み取るとOSによって通知される機能が追加されました。 従前にTikTokなど多くのアプリがコピペの内容を読み取っているという指摘がWebニュースで流れていたので、それがトリガーとなって仕様追加されたようですね。 実装ベースで言うと、↓こんな感じのコードを書いている場合。。。 コードが実行されたタイミングで、OSから警告が表示されます。 Androidのトーストのような感じのバナー表示です。 ※
背景 アプリのシェアなどでリンクからアプリを起動させる場合、DeepLinkパラメータを渡したいことも多いと思いますが、対象のアプリが未インストールの場合は色々手間があったと思います。 FirebaseDynamicLinks(以下FDL)とはFirebaseが提供している、OSやアプリのインストール状況などから遷移先を制御できるリンクです。FDLならば、未インストールの時にストアに遷移してインストール→アプリ起動した場合でもDeepLinkパラメータを保持することができます。 また、今後googleは今までのURL短縮サービスをやめて、FDLに置き換えていくとの声明も発表した(参考リンク)ようで、重要になるんじゃないかと勝手に思ってます。 (既存の短縮リンクは引き続き機能するとのことですのでそこはひとまず安心です) ※2019年9月26日追記 Firebase SummitにてShort
アプリケーションのエラー設計で、アプリ側のクラッシュは極力避ける方針でコードを実装する場合があります。それでも開発中はクラッシュさせたい場合にassertなどを使うことがあると思います。本番環境でユーザーがアプリを触る時にエラーを踏んで操作は継続するもののエラーを踏んで回避したいことを知りたい場合にCrashlyticsのnon-fatalが便利です。 Swiftのエラー分類 SwiftにはErrorHandlingRationale.rstというエラーハンドリングに関するドキュメントがあります。そこでは、Simple domain errors、Recoverbable errors、Universal errors、Logic failuresという四つのエラー分類があります。 このタイプのエラーはこれらのどれに分類される、といったような分類の仕方ではなく、どのようにエラーを扱いたいか
Firebase App Distiribution 先日BETA公開されたFirebase App Distributionですが2020年3月終了のFabricからの移行先としてはもっとも有力ですよね1。 先日「Firebaseを利用していない既存アプリを配信するためだけにFirebase App Distributionを使いたい!」と思い試してみたら、あまりにも簡単で「これは10分で設定から配信まで完了するんじゃない?」と思い、実際に、 Firebase未導入のビルド可能なプロジェクトがある状態 Firebaseのプロジェクトを作成するところから開始 配信用にアプリをビルドしてFirebase App Distributionでテスターに配信するところを終了 という条件で実際にストップウォッチで測ってやってみたところ、なんと「4分43秒」で終わりました! この記事用にスクショを撮影
この記事はFirebaseアドベントカレンダー 16日目の記事です。 今年のFirebase Summitの発表は、Firebase ExtensionsやiOS/Androidと比べてサポートが弱かったWeb周りの強化などが目玉でした。ですが、その裏でEmulator SuitesとしてFirestore, Cloud Functions, Hostingのエミュレータも整備されてこれまでよりも便利になりました。 今回はこの各種エミュレータ + 最近追加されたばかりのPubSubエミュレータを使ったテストの書き方や、その使い方の注意点を解説します。 tl;dr; 基本はcodelabで体験するのが早いのでおすすめ Cloud Functions, PubSubエミュレータはテストコードでのproject_idを一致させる必要がある PubSubエミュレータはPUBSUB_EMULATOR
はじめに お疲れ様です。かむいです。 この記事はiOS Advent Calendar 2019の17日目の投稿となります。 前回は@codelynxさんの名前付き UIView と後付けストアドプロパティもどきでした。 先月Firebase AuthenticationでSign in with Appleが利用できるとの発表がありました。 firebase.googleblog.com それまでは@fromkkさんが書かれていたようなCloud Functionsを利用したやり方でも近い仕組みを実現できていましたが、やはりFirebase Authentication単体で処理が実現できるのは嬉しい限りです。 qiita.com 今回はこのFirebase Authを利用した実装の紹介だけでなく、実装の中で登場するDelegateメソッドをRx化し、RxSwiftを利用しているケースを
Android 端末がメッセージを受信した場合は上記の表の通り、FirebaseMessagingService(を継承したクラス)の onMessageReceived メソッドが動くか、システムトレイへの通知が行われます。 この表だけは分かりやすかったので、公式サイトから引用させていただきました。 フォアグラウンドの場合は以下のような特徴があります。 notificationキーのみ、dataキーのみ、両方のキーを含む、全てのメッセージの場合で onMessageReceived が呼ばれる。 onMessageReceived 内の処理は 20秒(Android Marshmallow では 10秒)以内に終わらせる必要がある。 自動でシステムトレイに通知が表示されたりはしない。 バックグラウンドの場合は以下のような特徴があります。 dataキーのみ含むメッセージは onMessag
.app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く