At Apple, we believe privacy is a fundamental human right. When people connect to a public Wi-Fi hotspot, they expect to use your app to send and receive data without worrying that someone in the vicinity could intercept their connection and gain access to unencrypted data. Allowing even seemingly-innocuous data to remain unencrypted can expose people to snooping and fingerprinting by anyone on th
概要 自動更新サブスクリプションを提供するアプリでは、対象となるユーザーに対して、無料トライアルなどの割引お試し価格をオファーできます。そのプロダクト、または同じサブスクリプショングループの任意のプロダクトについて以前にお試しオファーを利用したことがないユーザーに対し、お試しオファーを提供できます。 まず、App Store Connectでお試しオファーを設定してください。次に、ユーザーにお試しオファーの利用資格があるかどうかを判断します。App Storeに提供可能なプロダクトのリストを照会して、ユーザーがお試しオファーの対象であれば、お試し価格を表示します。 お試しオファーを設定する アプリでお試しオファーを表示するには、まずApp Store Connectでオファーを設定する必要があります。詳しくは、「自動更新登録のお試しオファーの設定」を参照してください。 支払いモードの異なる
環境 Firebase CLI 5.1.1 Google Cloud SDK 220.0.0 東京リージョンを利用する方法 関数を東京リージョンにデプロイするにはいくつかの方法があります。 なお、デプロイ後にリージョンのみを変更することはできません(これはGCPでも同じ)。 ソースコード上でリージョンを指定する Firebaseのドキュメントではこの方法しか見当たりませんでした。 関数のデプロイとランタイム オプションを管理する | Firebase 記載されている通り、以下のようにリージョンを指定することでデプロイすることができます。 exports.sample = functions.region('asia-northeast1') .https.onRequest((req, res) => { console.log('hello tokyo reagion'); }); コン
代表的なnode.jsのパッケージマネージャにnpmとyarnがあります。 npmよりyarnの方が良い! と書いてある記事を何回か見かけたので、今回はyarnについてまとめてみました。 npmについては以前の記事でまとめています。 npmとは -Qiita JavaScriptのパッケージマネージャ 2016年にFaceBookが公開した npmと互換性がある = 同じpackage.jsonが使える yarnのメリット npmよりインストールが速い 約半分になる場合もあるそう npmより厳密にモジュールのバージョンを固定できる yarn.lockファイルで、各パッケージのインストールバージョンを固定できる。 npmと一緒に使える npmと同じのpackage.jsonが使えるため、同一プロジェクトでnpm or yarnで固定しなくて良い。 yarnの使い方 yarnのインストール タ
ターミナルでエイリアスという コード省略機能があったので、試してみたら 色々学べたのでそのまとめを シェルについて ターミナルと行っても、ターミナルのOSには種類があり ある程度触ってない人にはピンこないものです。 bash,zshなど種類があります。 気になるコマンドはこちら echo "$SHELL" シェル名。ただし、この環境変数を設定しないシェルもある ps -p $$ 現在のシェルのプロセス情報を表示 echo $0 現在のシェル名を表示 cat /etc/shells シェルを一覧表示 grep "^$USER" /etc/passwd デフォルトシェルを表示 chsh デフォルトシェルを変更
問題 npm install -g <module> であるモジュールをインストールしたのに実行時見つからないとエラーが出た。 実行結果 $ npm install -g request request@2.72.0 /home/vagrant/.nvm/versions/node/v0.12.4/lib/node_modules/request ├── is-typedarray@1.0.0 ├── aws-sign2@0.6.0 ├── oauth-sign@0.8.2 ├── forever-agent@0.6.1 ├── tunnel-agent@0.4.3 ├── caseless@0.11.0 ├── stringstream@0.0.5 ├── isstream@0.1.2 ├── json-stringify-safe@5.0.1 ├── extend@3.0.0 ├──
お知らせ: 2022/9/1 CS50 を活用した非営利/協賛企業による「コロナ学生支援」プロジェクトを実施中 ▼ 学生の方へ:CS50 の学習(履修証明書の取得)を一緒に取り組むプロジェクト CS50日本語版の翻訳コントリビューターである CODEGYM が主催する、非営利/無償のプロジェクト「CODEGYM Academy (外部リンク)」は、昨年に続き2022年度(春/秋)も、キャリア選択を控えた学生に対し、以下の企業の協賛により無償で17週間のプログラミング教育カリキュラムを提供します。 CODEGYM Academy 協賛企業(2022年) https://codegym.jp/academy/ 今年度のエントリーは締め切りました — ようこそ! このページは、ハーバード大学 CS50 の日本語版翻訳プロジェクトのページです。当サイトのドメインに掲載されているコンテンツは、Cre
コマンドラインから 1 つのコマンドで、JavaScript または TypeScript コードをサーバーにデプロイします。その後は Firebase によって、ユーザーの使用パターンに合わせてコンピューティング リソースが自動的にスケールアップされます。認証情報、サーバー構成、新規サーバーのプロビジョニング、古いサーバーのデコミッションを気にする必要はありません。 仕組み 関数を記述してデプロイすると、Google のサーバーはすぐに関数の管理を開始します。関数は、HTTP リクエストで直接呼び出すことができます。また、バックグラウンド関数の場合は、Google のサーバーがイベントをリッスンして、関数がトリガーされたときに実行します。 負荷が増減すると、Google は関数の実行に必要な仮想サーバー インスタンスの数を迅速にスケーリングすることで対応します。各関数は、独自の構成が含ま
概要 ※この記事の結論は2021年4月時点での調査結果に基づいています。 AppleはWWDC 2020で、Core MLモデルの「配信」「暗号化」の仕組みを提供すると発表しました。 それぞれのコンセプト・仕様は上記動画を見ていただくとして(日本語字幕もあります)、この記事では 実際に調査・検証してわかった利用する際の問題点 その問題点を解消するためにとり得る選択肢 を書きます。 結論を先にまとめると、残念ながら「配信」の仕組みは2021年4月時点で実用可能な状態ではありませんでした。 「暗号化」の方は実用可能でしたが、「配信」の問題に引きずられる形で使用に制限があります。 モデルの配信 配信するまでの簡単な流れ 利用手順や諸々のスクショなど記載されている公式ドキュメントは以下です。 Creating and Deploying a Model Collection Xcode 12上で.
概要 今までiOSにおけるアプリ内課金処理のユニットテストはとても書きづらく、もし書く場合は実際にApp Storeへの通信をしなければいけないと思います。 またアプリ内課金の実装を始めるまでに時間がかかったり(AppStore Connectでの様々な準備があるため)、サンドボックス環境での購入処理を実行してしまうと再度購入処理のテストを行うまでのインターバルが発生したり、アプリ内課金の実装のしづらさを感じていました。 しかしXcode12から導入された新機能によって様々な問題が解消されました。 今回はXcode12で導入された新機能と、アプリ内課金処理のユニットテストを書くためのStoreKit Testというフレームワークについて紹介していきます。 StoreKit Configuration Xcode12からアプリ内購入に関することについて、Xcode内で様々な設定を行えるように
Sandbox環境で実際のプロダクト情報とサーバ間トランザクションを使ってアプリ内課金の実装をテストします。 概要 AppleのSandbox環境では、デバイス上のStoreKitフレームワークと、App Store Connectからの実際のプロダクト情報を使ってアプリ内課金の実装をテストできます。開発用に署名されたアプリでSandbox Apple IDを使ってApp Storeにサインインすると、Sandbox環境が使用されます。 Sandbox Apple IDまたはApp Store Connectのテストアカウントを作成する方法は、「Sandboxテスターアカウントの作成」を参照してください。 Sandbox Apple IDでApp Storeにサインイン Sandbox Apple IDを使用してアプリを実行するには、使用するデバイスおよびオペレーティングシステムに応じて、
概要 App Storeのレシートは、Apple証明書で署名されたバイナリ形式の暗号化ファイルです。この暗号化ファイルの内容を読み取るには、このファイルをverifyReceiptエンドポイントで処理する必要があります。エンドポイントからの応答には、読み取り可能なJSON形式の本文が含まれます。App Storeとの通信は、RFC 4627で定義されているJSON辞書によって構造化されています。バイナリデータは、RFC 4648で定義されているように、Base64でエンコードされています。安全なサーバを通じて、App Storeでレシートを検証します。App Storeとの安全なネットワーク接続を確立する方法については、「安全でないネットワーク接続の回避」をご参照ください。 レシートデータの取得 macOS、iOS、iPadOSを実行しているデバイスのプロダクション環境では、アプリのレシー
こんにちは、バックエンドエンジニアのjoeです。 みなさんはお気に入りのアプリに月額課金をしたことがありますか?したことがない人は今すぐお気に入りのアプリをみつけて月額課金しましょう! 実際にiOSで月額課金をすると、課金の証明としてAppStoreがレシートを発行します。レシートと言ってもAppStoreが紙のレシートを送りつけてくるわけではなく、電子的な購入情報のことをレシートと呼びます。ユーザーが解約処理をしない限りAppStore側でレシートが自動更新される仕組みになっています。(月額課金の場合) その際に、AppStoreのサーバーにHTTPのPOSTリクエストでレシートを問い合わせ、現在の課金状況を知ることができます。このお問い合わせ処理と、レシートが不正なレシートでないかをチェックする処理を合わせてレシート検証と呼びます。 今回はiOSのレシート検証をクライアントのみでの検証
7月にFlutter開発を始めてから2作目、アイデアを発想するためのメモアプリ「アイデアメモ iX」をリリースしました。 走り書きをする感覚でサッとメモができ、さらにそのメモを組み合わせてシャッフルして表示したり、ランダムで過去のメモをピックアップしたり、アイデアのヒントになるようなワードを表示したり、アプリのアイデア出しにぴったりなアプリです。 ■AppStore https://apps.apple.com/jp/app/id1517535550 ■Google Play https://play.google.com/store/apps/details?id=com.IdeaShuffleMemoApp&hl=ja ■アプリの詳細記事 https://yukio.site/idea_shuffle_memo/ さて、このアプリを作成するにあたり、3つの機能を実装しようと取り組みまし
こんにちは、スタディプラスの須藤(id:kurotyann)です。 昨年の9月にFlutterとFirebaseで新規サービス「ポルト Porto」をリリースしました。 tech.studyplus.co.jp ポルトはアプリ内課金を未実装でローンチしました1。ローンチ時の決済手段は、Stripeを使ったWebクレジット決済(月額制で無料トライアル14日間)のみです。 高校生をメインターゲットとしながらもアプリ内課金がないのは大きな課題であったため、今年の2月25日にアプリ内課金をリリースしました。 そこで、今回は「FlutterとFirebaseに焦点をあてて」アプリ内課金の定期購入の実装ポイントを紹介します。 1. 技術選定 システム構成図 まず、システム構成図で全体像を示します。 アプリ内課金(定期購入) 定期購入のステータス変更通知 Flutter(アプリ側) Flutterにはア
この記事はFlutterとFirebaseを利用してアプリ内課金(IAP)機能を実装するためのステップバイステップ実装ガイドです。 主にIAPを実装する際の肝となるレシート検証処理を、プラットフォーム別で詳細に解説します。 目次 in_app_purchaseパッケージの導入 Flutterでアプリ内課金を実装をするためのパッケージはいくつか存在しますが、今回はFlutterの公式ライブラリであるin_app_purchaseを採用します。 pubspec.yamlにパッケージを追加し、flutter pub getコマンドを実行します。 dependencies: in_app_purchase: 0.3.4 # 導入時点での最新版を確認すること 実装手順 具体的な実装手順に関しては 公式のデモプロジェクト に付属しているREADME.mdを参考にするのがおすすめです。 こちらのREAD
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く