mobiledeveloperのブックマーク (811)

  • Appへのお試しオファーの実装

    概要 自動更新サブスクリプションを提供するアプリでは、対象となるユーザーに対して、無料トライアルなどの割引お試し価格をオファーできます。そのプロダクト、または同じサブスクリプショングループの任意のプロダクトについて以前にお試しオファーを利用したことがないユーザーに対し、お試しオファーを提供できます。 まず、App Store Connectでお試しオファーを設定してください。次に、ユーザーにお試しオファーの利用資格があるかどうかを判断します。App Storeに提供可能なプロダクトのリストを照会して、ユーザーがお試しオファーの対象であれば、お試し価格を表示します。 お試しオファーを設定する アプリでお試しオファーを表示するには、まずApp Store Connectでオファーを設定する必要があります。詳しくは、「自動更新登録のお試しオファーの設定」を参照してください。 支払いモードの異なる

  • Cloud Functions for Firebaseで東京リージョンを利用する

    環境 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'); }); コン

    Cloud Functions for Firebaseで東京リージョンを利用する
  • yarnによるパッケージのインストールなど

    代表的な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のインストール タ

    yarnによるパッケージのインストールなど
  • bashの編集

    ターミナルでエイリアスという コード省略機能があったので、試してみたら 色々学べたのでそのまとめを シェルについて ターミナルと行っても、ターミナルのOSには種類があり ある程度触ってない人にはピンこないものです。 bash,zshなど種類があります。 気になるコマンドはこちら echo "$SHELL" シェル名。ただし、この環境変数を設定しないシェルもある ps -p $$ 現在のシェルのプロセス情報を表示 echo $0 現在のシェル名を表示 cat /etc/shells シェルを一覧表示 grep "^$USER" /etc/passwd デフォルトシェルを表示 chsh デフォルトシェルを変更

    bashの編集
  • npm install -gでグローバルインストールしたのに見つけてくれない - Qiita

    問題 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 ├──

    npm install -gでグローバルインストールしたのに見つけてくれない - Qiita
  • CS50 for Japanese: コンピュータサイエンスの入門 – 当ウェブサイトは、Creative Commons ライセンスに基づいて管理されています。

    お知らせ: 2022/9/1 CS50 を活用した非営利/協賛企業による「コロナ学生支援」プロジェクトを実施中 ▼ 学生の方へ:CS50 の学習(履修証明書の取得)を一緒に取り組むプロジェクト CS50日語版の翻訳コントリビューターである CODEGYM が主催する、非営利/無償のプロジェクト「CODEGYM Academy (外部リンク)」は、昨年に続き2022年度(春/秋)も、キャリア選択を控えた学生に対し、以下の企業の協賛により無償で17週間のプログラミング教育カリキュラムを提供します。 CODEGYM Academy 協賛企業(2022年) https://codegym.jp/academy/ 今年度のエントリーは締め切りました — ようこそ! このページは、ハーバード大学 CS50 の日語版翻訳プロジェクトのページです。当サイトのドメインに掲載されているコンテンツは、Cre

  • Cloud Functions for Firebase

    コマンドラインから 1 つのコマンドで、JavaScript または TypeScript コードをサーバーにデプロイします。その後は Firebase によって、ユーザーの使用パターンに合わせてコンピューティング リソースが自動的にスケールアップされます。認証情報、サーバー構成、新規サーバーのプロビジョニング、古いサーバーのデコミッションを気にする必要はありません。 仕組み 関数を記述してデプロイすると、Google のサーバーはすぐに関数の管理を開始します。関数は、HTTP リクエストで直接呼び出すことができます。また、バックグラウンド関数の場合は、Google のサーバーがイベントをリッスンして、関数がトリガーされたときに実行します。 負荷が増減すると、Google は関数の実行に必要な仮想サーバー インスタンスの数を迅速にスケーリングすることで対応します。各関数は、独自の構成が含ま

  • Core MLの仕組みを利用した.mlmodelの配信・暗号化の実情 - Qiita

    概要 ※この記事の結論は2021年4月時点での調査結果に基づいています。 AppleはWWDC 2020で、Core MLモデルの「配信」「暗号化」の仕組みを提供すると発表しました。 それぞれのコンセプト・仕様は上記動画を見ていただくとして(日語字幕もあります)、この記事では 実際に調査・検証してわかった利用する際の問題点 その問題点を解消するためにとり得る選択肢 を書きます。 結論を先にまとめると、残念ながら「配信」の仕組みは2021年4月時点で実用可能な状態ではありませんでした。 「暗号化」の方は実用可能でしたが、「配信」の問題に引きずられる形で使用に制限があります。 モデルの配信 配信するまでの簡単な流れ 利用手順や諸々のスクショなど記載されている公式ドキュメントは以下です。 Creating and Deploying a Model Collection Xcode 12上で.

    Core MLの仕組みを利用した.mlmodelの配信・暗号化の実情 - Qiita
  • Xcode12から始めるStoreKit Testing

    概要 今までiOSにおけるアプリ内課金処理のユニットテストはとても書きづらく、もし書く場合は実際にApp Storeへの通信をしなければいけないと思います。 またアプリ内課金の実装を始めるまでに時間がかかったり(AppStore Connectでの様々な準備があるため)、サンドボックス環境での購入処理を実行してしまうと再度購入処理のテストを行うまでのインターバルが発生したり、アプリ内課金の実装のしづらさを感じていました。 しかしXcode12から導入された新機能によって様々な問題が解消されました。 今回はXcode12で導入された新機能と、アプリ内課金処理のユニットテストを書くためのStoreKit Testというフレームワークについて紹介していきます。 StoreKit Configuration Xcode12からアプリ内購入に関することについて、Xcode内で様々な設定を行えるように

    Xcode12から始めるStoreKit Testing
  • Sandboxでのアプリ内課金のテスト - 日本語ドキュメント - Apple Developer

    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 Developer

    概要 App Storeのレシートは、Apple証明書で署名されたバイナリ形式の暗号化ファイルです。この暗号化ファイルの内容を読み取るには、このファイルをverifyReceiptエンドポイントで処理する必要があります。エンドポイントからの応答には、読み取り可能なJSON形式の文が含まれます。App Storeとの通信は、RFC 4627で定義されているJSON辞書によって構造化されています。バイナリデータは、RFC 4648で定義されているように、Base64でエンコードされています。安全なサーバを通じて、App Storeでレシートを検証します。App Storeとの安全なネットワーク接続を確立する方法については、「安全でないネットワーク接続の回避」をご参照ください。 レシートデータの取得 macOS、iOS、iPadOSを実行しているデバイスのプロダクション環境では、アプリのレシー

  • iOSの月額課金レシート検証をサーバーサイドで行うときのTipsまとめ - ZOZO TECH BLOG

    こんにちは、バックエンドエンジニアのjoeです。 みなさんはお気に入りのアプリに月額課金をしたことがありますか?したことがない人は今すぐお気に入りのアプリをみつけて月額課金しましょう! 実際にiOSで月額課金をすると、課金の証明としてAppStoreがレシートを発行します。レシートと言ってもAppStoreが紙のレシートを送りつけてくるわけではなく、電子的な購入情報のことをレシートと呼びます。ユーザーが解約処理をしない限りAppStore側でレシートが自動更新される仕組みになっています。(月額課金の場合) その際に、AppStoreのサーバーにHTTPのPOSTリクエストでレシートを問い合わせ、現在の課金状況を知ることができます。このお問い合わせ処理と、レシートが不正なレシートでないかをチェックする処理を合わせてレシート検証と呼びます。 今回はiOSのレシート検証をクライアントのみでの検証

    iOSの月額課金レシート検証をサーバーサイドで行うときのTipsまとめ - ZOZO TECH BLOG
  • �【Flutter】もう怖くない!アプリ内課金・定期購入機能を実装する方法を丁寧に説明してみた。 - Qiita

    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つの機能を実装しようと取り組みまし

    �【Flutter】もう怖くない!アプリ内課金・定期購入機能を実装する方法を丁寧に説明してみた。 - Qiita
  • アプリ内課金の定期購入(サブスクリプション)をFlutterとFirebaseで実装するときのポイント - Studyplus Engineering Blog

    こんにちは、スタディプラスの須藤(id:kurotyann)です。 昨年の9月にFlutterとFirebaseで新規サービス「ポルト Porto」をリリースしました。 tech.studyplus.co.jp ポルトはアプリ内課金を未実装でローンチしました1。ローンチ時の決済手段は、Stripeを使ったWebクレジット決済(月額制で無料トライアル14日間)のみです。 高校生をメインターゲットとしながらもアプリ内課金がないのは大きな課題であったため、今年の2月25日にアプリ内課金をリリースしました。 そこで、今回は「FlutterとFirebaseに焦点をあてて」アプリ内課金の定期購入の実装ポイントを紹介します。 1. 技術選定 システム構成図 まず、システム構成図で全体像を示します。 アプリ内課金(定期購入) 定期購入のステータス変更通知 Flutter(アプリ側) Flutterにはア

    アプリ内課金の定期購入(サブスクリプション)をFlutterとFirebaseで実装するときのポイント - Studyplus Engineering Blog
  • 【Flutter + Firebase】アプリ内課金(IAP)のステップバイステップ実装ガイド【レシート検証】

    この記事は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

    【Flutter + Firebase】アプリ内課金(IAP)のステップバイステップ実装ガイド【レシート検証】
    mobiledeveloper
    mobiledeveloper 2021/04/30
    コード記述あり
  • [Xcode 12] ローカルで課金(StoreKit)のテストをする方法について | DevelopersIO

    XCode12からの新機能のひとつとして、ローカル環境で課金(StoreKit)のテストをする環境が追加されました。 この記事では、そんなローカルで課金のテストをする方法を試しています。 はじめに XCode12からの新機能のひとつとして、ローカル環境で課金(StoreKit)のテストをする環境が追加されました。 StoreKit構成ファイルをローカルで作成し有効にすると、App Storeのサーバーに接続しないで課金のテストを実行することが出来ます。 今回はローカルで課金をしてみるまでの流れを簡単にではありますが試してみました。 具体的にどんなことが出来るようになったの? Appleのサイトによると以下の項目が挙げられています。 開発の初期段階、またはApp Store Connectでアプリ内購入を構成する前に課金ができる。 ネットワーク接続が利用できない場合のローカルテスト。 San

    [Xcode 12] ローカルで課金(StoreKit)のテストをする方法について | DevelopersIO
  • 初めてのiOSアプリ内課金実装

    In-App Purchasesの概要 In-App Purchasesとはアプリ内課金のことであり、アプリ内でプレミアムコンテンツや、デジタル商品、サブスクリプションなどの追加コンテンツをアプリ内で直接ユーザーに提供できます。 In-App Purchasesには、以下の4種類があります。 消耗型 非消耗型 自動更新サブスクリプション 非更新サブスクリプション 詳細についてはここを参照してください。 今回は自動更新サブスクリプションの実装方法について見ていきます。 (が他の種類の実装を行うにしても、基的な考え方は同じだと思います。) 購入処理に必要な主なStoreKitAPIについて アプリ内コンテンツの購入処理を実装する際、StoreKitというフレームワークを使用します。 まずはStoreKitが提供する主なAPIについて説明していきます。 SKProduct ユーザーに提供する

    初めてのiOSアプリ内課金実装
  • Firebaseで実現するiOSサブスクリプション

    個人開発しているアプリ でサブスクリプションによる有料プランを提供しており、そのバックエンドにはFirebase(Authentication, Firestore, Cloud Functions)を使っています。 運用が難しそうな課金周りのバックエンドも、Firebaseで実現することでサーバー管理など不要で、個人開発でも安定してサービス提供できます。 今回はその大まかな実現方法とともに、個人開発でも意外と容易にサブスクリプション導入できることを紹介します。 尚、この記事は典型的な、有料プラン1種類のみ提供することを前提に書かれています。異なる種類・期間のプランを複数提供する場合は、アップグレード・ダウングレード・クロスグレードを考慮する必要があり、より複雑なものになります。 また、iOS以外の、WebやAndroidなどのプラットフォームで並行してサービスを提供する場合も、課金状態の

    Firebaseで実現するiOSサブスクリプション
  • iOSで課金のレシートをローカルで判定する方法 - Qiita

    はじめに 最近 iOSでアプリ内課金で自動更新のサプスクリプションをの実装を行いました。その時に、Web でどうやってレシートの検証を行うかを検索しました。 • レシート検証 プログラミングガイド(PDF) • レシート検証 プログラミングガイド(Web) • In App Purchaseのレシートをローカルで検証できるようになった話(Qiita) • iOSの月額課金レシート検証をサーバーサイドで行うときのTipsまとめ(Qiita) • iOS In-App Purchase実装で必ず知っておきたい隠れた罠(Qiita) • Apple App Store Receipt Validation with Swift and Go • Local Receipt Validation for iOS in Swift From Start to Finish • Validating

    iOSで課金のレシートをローカルで判定する方法 - Qiita
  • どこよりもわかりやすいiOS最強課金まとめ - Qiita

    準備 1. 契約 / 税金 / 口座情報の設定 App内課金を提供するには、有料App契約に署名し、税金および口座情報を設定する必要があります。 App Store Connectの「契約 / 税金 / 口座情報」のページで各種情報を入力をしてください。 ※ダウンロードが無料のアプリであっても、アプリ内課金を提供する場合、上の画像の有料Appのステータスがアクティブになっている必要があります。 アクティブでない場合、課金アイテムの取得などでエラーになります。 また直接ここが関係しているかは定かではないですが、課金アイテムの追加で自動更新サブスクリプションの項目が表示されませんでした。 2. Appの追加 App Store Connectでアプリのページを作成します。 「マイ App」で新規Appを選択して追加します。 3. 課金アイテムの追加 アプリのページを作成したら課金アイテムを追加

    どこよりもわかりやすいiOS最強課金まとめ - Qiita