株式会社パルケの悩めるCTO、みつるです。 この記事は先日ツイートしたものを加筆修正したものとなります。 株式会社パルケでは、最初のプロダクト開発でFirebaseを全面的に採用し、1年以上にわたって運用してきました。 一方でFirebaseの制限・制約がつらい、と思う理由も徐々に積み重なってきました。 結果、Firebaseから卒業するという大きな判断をしました。 今その判断は間違っていなかったと思います。 ここではFirebaseがつらかった理由をまとめておきたいと思います。 第10位:Firebaseでは実現できない要件があった。 パルケのプロダクトでは、エンタープライズ向けにセキュリティ対応を強化したい、という要件がありましたが、以下要件の実現が難しかったです。 IPアドレス制限をできるようにしたかったが、Firestoreへアクセス毎にIPアドレスで制限をかける方法が見つからなか
Google アナリティクスでの設定 Google アナリティクス 4 プロパティを作成する アナリティクスのプロパティでアプリデータを測定するには、対応するプロジェクトを Firebase で作成し、そのプロジェクトとプロパティの間にリンクを設定する必要があります。 Google アナリティクス 4 プロパティの作成に関する詳細 リンクの作成後に設定を更新する Google アナリティクス 4 プロパティを作成し、Firebase プロジェクトへのリンクを設定すると、次のどちらかを設定するオプションが表示されます。 Firebase ユーザーのアナリティクス データに対するアクセスレベルの調整 拡張オーディエンスの統合の無効化(この機能はデフォルトで有効になっています) これらの設定を開くには次の手順を行ってください。 [管理] の [サービス間のリンク設定] で [Firebase の
Works with Cloud Firestore Version 0.1.49 | Source code License Apache-2.0 Publisher FirebaseReportBugAbuse Use this extension to export the documents in a Cloud Firestore collection to BigQuery. Exports are realtime and incremental, so the data in BigQuery is a mirror of your content in Cloud Firestore. The extension creates and updates a dataset containing the following two BigQuery resources: A
これにより、iOS アプリで Firebase を稼働させるために必要なライブラリが、Firebase 向け Google アナリティクスとともに追加されます。 ・ ポッドをインストールし、.xcworkspace ファイルを開いて Xcode でプロジェクトを確認します。 2回目以降も、インストールを使用すると、依存性でエラーになる事が多いです。 証明書を発行編に移ります プッシュ通知を送るために作成するもの・しておくことは以下の7つあります。 CSRファイルの作成 ※初回作成すれば後は同じものを使いますので改めて作成不要です 開発用証明書(.cer)の作成 ※初回作成すれば後は同じものを使いますので改めて作成不要です AppIDの作成 端末の登録 プロビショニングプロファイルの作成 APNs用証明書(.cer)の作成 APNs用証明書(.p12)の作成 1. CSRファイルの作成 キー
フィードバックを送信 プロジェクトのロケーションを選択する コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。 いくつかの Firebase プロダクトでは、ロケーションの設定が必要です。 Google アナリティクス - Firebase プロジェクトで Google アナリティクスを有効にすると、アナリティクスのレポートのロケーションを選択するよう求められます。このロケーションは組織の国または地域を表します。アナリティクスのロケーションによって、収益レポートの通貨が設定されます。 Cloud Firestore と Cloud Storage - いずれかのプロダクトを使い始めると、プロジェクトのデフォルトの Google Cloud Platform(GCP)リソース ロケーションを選択するように求められます(別のサービスを設定するときにまだ選択していな
フィードバックを送信 Firebase サービス アカウントの概要 コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。 Firebase では、ユーザー認証情報を共有せずに、サービス アカウントを使用してサービスの操作と管理を行えます。Firebase プロジェクトを作成すると、プロジェクトで複数のサービス アカウントが用意されます。 また、サービスの追加や特定のアクションの実行(Firebase プロダクトを BigQuery にリンクするなど)を行うと、新しいサービス アカウントがプロジェクトに追加されることもあります。これらのサービス アカウントは、Firebase によって直接追加されるものもあれば、Firebase プロジェクトに関連付けられた Google Cloud Platform プロジェクトを介して追加されるものもあります。 プロジェクトに
フィードバックを送信 Firebase IAM のロール コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。 権限はロールを介してプロジェクト メンバーに付与されます。ロールは権限の集合です。ロールをプロジェクト メンバーに割り当てると、そのロールに含まれるすべての権限がそのプロジェクト メンバーに付与されます。 Firebase IAM では、次のタイプのロールをサポートしています。 基本ロール: 基本的なオーナー、編集者、閲覧者のロール(旧称「基本(primitive)ロール」)。 事前定義ロール: 基本ロールより詳細にアクセス権を制御できる、キュレートされた Firebase 固有のロール。Firebase では次のロールが提供されます。 Firebase レベルのロール: すべての Firebase プロダクトに対する完全な読み取り / 書き込みアクセ
ユニバーサル アナリティクス(UA)は Google アナリティクス 4(GA4)に置き換えられました。2023 年 7 月 1 日をもって、標準のユニバーサル アナリティクス プロパティにおけるデータの処理は停止されました(最新のオーダーに含まれる 360 ユニバーサル アナリティクス プロパティの処理は、2024 年 7 月 1 日まで、1 回限り延長されます)。そのため、ユニバーサル アナリティクス プロパティを Google アナリティクス 4 に移行することが重要になります。詳しくは Google アナリティクス 4 に切り替える方法をご覧ください。 Google アナリティクスのプロパティを Google 広告アカウントにリンクすると、ウェブサイトとアプリでのユーザー行動を分析できます。これにより、Google 広告経由のサイト閲覧数や成果を把握し、広告とウェブサイトの改善に役
フィードバックを送信 オペレーティング システムを統合する コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。 Dynamic Links 機能は、基盤となるオペレーティング システムの既存のディープリンク機能の上に構築されています。 iOS および Android との統合に関するフローチャートを以下に示します。こうしたフローチャートでは、リンク動作が次のように構成されていることを前提としています。(a) アプリがインストールされている場合: ディープリンクをアプリで開く、(b) アプリがインストールされていない場合: App Store / Play ストアのページを開く。 iOS の統合フローチャート Android の統合フローチャート フィードバックを送信 特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンス
ウェブサイトやアプリケーションを簡単に構築できるクラウドサービスは便利なものですが、その課金システムは非常に複雑です。通信量や利用した計算リソースに応じて課金する従量課金制のサービスもあれば、条件を満たすことで無料で利用できるサービスもあります。そんなクラウドサービスの無料プランを利用したつもりが、7万2000ドル(約750万円)を請求され倒産寸前に追い込まれたと、ベンチャー企業の創設者が当時の状況をブログに吐露しています。 We Burnt $72K testing Firebase + Cloud Run and almost went Bankrupt [Part 1] | Milkie Way https://blog.tomilkieway.com/72k-1/ We Burnt $72K testing Firebase - Cloud Run and almost went
年の瀬なので、私自身が今年利用した技術をベースに技術スタックをまとめてみようと思います。 とはいえ Web Standard といった広い対象から、フレームワークやライブラリまで、粒度の違うものを全て言及するのは無理があるというもの。特に強く言及できるものは個別で説明しつつ、最後に利用する機会がなかったものも最後に記載する形で。 以下常体。 追記: マイナー企業のようなので一応書いておきますが、筆者は本業ではLINE株式会社という組織でいわゆるエンジニアリングマネージャーと言われるような業務とその採用に関わる仕事をしています。 利用した技術一覧 HTML/CSS/JS みたいなことを書いてるとキリがないので、独断と偏見で区分けして適宜漉いています。特に利用する機会が多かったものは太字でピックアップ。 Frontend Language/Platform TypeScript JavaScr
「Firebase は安いし楽だしマジ最高」という一心で技術選定してしまったプロダクトが成功して見えてきた課題、割高なコスト・権限管理・カスタマイズ性、そして (特性やスキルセット的に)RDB 製品が適していたのに無理やり Firestore を採用したことによるデータ不整合。 その結果チーム内で Firebase を抜ける機運が高まるも、Firebase べっとりなアプリケーションすぎて移行しづらいといった問題に出会うかもしれません。 そのような場合に備え、Firebase の存在を隠蔽して開発することに挑戦してみましょう。 注意: Firebase を剥がしているときに「俺、次は絶対そうするわ」と感じたものを書いているだけであり、まだ実際にはこのパターンでプロダクション導入していません。 あくまで個人開発で試してみていけそうと思ったので、提案しますという体です。 また Firebase
従来のp12ファイルの対応ではなく、p8ファイル1つで、複数アプリ分対応できてしまうp8ファイルで対応するメモです。 (アプリ側には事前にfirebaseSDKのMessagingを導入しておく必要があります。) p8ファイルの作成が必要なのは最初だけなので、 ルーティンで新規アプリのプッシュ通知の設定をする場合は、 firebaseに p8ファイルをアップロード キーIDに「固定のID」 チームIDに「固定のID」と入力するだけ。 めちゃ楽ちん 最初はp8ファイルの作成が必要なので、用意しておく 1. 認証キーを用意する(p8) ※ p8ファイル:1つの証明キーで、複数のアプリに対応できる 下記管理画面で作成 https://developer.apple.com/account/ios/authkey/ ※admin権限のメンバーでないと閲覧&作成できません。 Key Descript
表題通りの記事です。 これからnode.jsを10->12に更新する方の助けになれば幸いです。 確認環境 Ubuntu: 18.04.3 LTS node.js: 10.16.0、12.14.1 ビルドツール: gulp (後述しますが4系へのアップデートが必須でした) やったこと(全体像) n をつかってローカル環境のnode.jsを10->12に更新 (参考: nodeとnpmのバージョン更新方法) npm ciして、出てきたエラーを潰す firebaseの更新 node-sassの更新 npm run buildして、出てきたエラーを潰す gulpを3系->4系へ移行 エラー1 (firebaseの更新により解消) 最初はイージーケースから。 事象 npm ciしたところ、大量(体感3分)のログが出力され、最後に以下のエラーが吐かれました。 # これ以前にも大量のエラーログが出る c
個人的に作っているアプリで簡単にリアルタイムにデータが同期される機構を組み込みたく調べていたところ、Firebaseにたどり着いたのでまずはざっくり概要をまとめました。 Firebaseとは Googleが運営しているMBaasです。 Firebaseの特徴としては、他のMBaasと同じ様に、オンラインでサインアップするだけで、オンラインのデータベースにデータを保存 / 取得ができることに加え、 HTML / CSS / JS / 画像などの静的ファイルをホスティングし、CDNを通じSSLで提供するとこまでを提供するFirebaseHostingやユーザーの行動を分析するFirebase Analyticsなど、Googleさまさま(?)な強力な機能も利用することができます。 Firebaseの機能一覧 サービス 概要 対応プラットフォーム
以前開発したときは、APNs証明書だけだったのに知らぬうちに2つの方法ができていたので備忘録です。 そもそもAPNsとは? Apple Push Notification Service(以下、APNs)は、iOSやtvOS、MacOS上で実行されているアプリケーションに対して開発者側から通知を送るためのAppleによるサービスのことを指します。 誤解されがちなのは、Firebase Cloud Messaging(以下、FCM)などの通知を行えるサービスと各アプリケーションが1対1で繋がっているようにとらわれがちですが、Appleデバイスを対象に通知を送付する際は必ずAPNsを介して送付されています。 当たり前ですが、APNsに対してどんなリクエストでも送れてしまったら意図しない通知がユーザーの手元に届いてしまいますので、サーバー側とAPNs間のセキュアな通信を担保するために証明書または
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く