タグ

natsuonのブックマーク (2,416)

  • [Cocoa][Swift]StoreKit 2|村上幸雄

    Apple Developerサイトでは、StoreKit 2という説明があるがフレームワークはStoreKitのまま。触ってみた感じは、既存のStoreKitを簡単に扱えるようにしたSwiftで実装されたライブラリだ。レシート検証もやってくれるようで、アプリ内で行う場合は、自力でASN.1でエンコードされたPKCS#7コンテナを解析するコードの実装が必要だったので助かる。 StoreKit 2は購読型の商品関連で便利になっているようだが、今回は消費型の商品のみとなっている。申し訳ない。 初めにStoreKit 2を利用する際に戸惑ったのは、Swiftのasync/awaitを前提としてAPIになっているので、既存のコードから呼ぶ際には、async/awaitへの対応が必要となる。 と言っても、凝らなければ恐れることはない。 StoreKit 2のAPIを呼び出す関数は async 宣言を

    [Cocoa][Swift]StoreKit 2|村上幸雄
  • StoreKit 2のAppStore.sync()検証

    iPhone などの iOSアプリにおいて、StoreKit 2を用いたリストア(復元)処理の検証に関して、筆者の体験を紹介する。 筆者のマシン Mac mac mini (M1, 2020) OS Monterey バージョン 12.4 XCode バージョン 13.4.1 Swift バージョン 5.6.1 ここでは次の手順で説明する。 はじめに リストア(復元)ボタンの追加 TestFlightでの検証 App Storeで公開・動作確認 はじめに iOSアプリの App内課金処理を StoreKit 2 で実装してApp Store の審査に提出した際、リストア(復元)のボタンを設置していないと言う理由で、Review での却下(Reject)を受けた。 理由は「Guideline 3.1.1 – Business – Payments – In-App Purchase」で、メッ

    StoreKit 2のAppStore.sync()検証
  • StoreKit 2を利用したiOSのアプリ内課金の実装について学ぶ(含む、JWTなど)

    サンプルコードを触りながらの学び サンプルコードのページにかかれている手順に従い、Schemeを編集し、StoreKitのテストが実行できるようにする。 WWDC21の動画では、Product一覧を取得する際にProduct.requestを利用していたが自分の環境ではコンパイルエラーとなっている。Product.productsを用いるようにAPIが変更されたか? await product.purchase()の戻り値はenum Product.PurchaseResultである。 purchase: https://developer.apple.com/documentation/storekit/product/3791971-purchase PurchaseResult: https://developer.apple.com/documentation/storekit/p

    StoreKit 2を利用したiOSのアプリ内課金の実装について学ぶ(含む、JWTなど)
  • StoreKit 2 API の新機能と、Apple がアプリ内購入の統合を効率化した方法

    Appleは、最近開催されたWWDC 2021で StoreKit 2の新しいバージョンを紹介しました。これは、iOSでの購入を管理するフレームワークです。アプリ内購入 (in-app purchase) とサブスクリプション (subscription) 機能に対応するアプリのシェアは着実に伸びています。AppleはStoreKit 2をリリースすることで、アプリ内購入のアプリへの統合を大幅に簡素化しました。これを受けて、当社はApp StoreサーバAPIを活用し、サーバーサイド (server-side) でStoreKit 2を導入することを検討しています。 認証のリクエスト 現在のAPIバージョンでは、リクエストを送信するために共有シークレット (shared secret) が必要です。これは、App Store Connectで取得できる秘密の固定文字列です。新しいバージョン

    StoreKit 2 API の新機能と、Apple がアプリ内購入の統合を効率化した方法
  • Sandbox でのテストの概要 - App Store Connect - ヘルプ - Apple Developer

    メンバーシップ、アカウント、App Store Connectについてご質問がある場合は、デベロッパサポートをご確認ください。

  • 初心者でもわかるiOSサブスク課金のサーバ側の実装!App Store Server Notifications Version 2(StoreKit 2)のJWS検証と判定方法を解説! - Qiita

    初心者でもわかるiOSサブスク課金のサーバ側の実装!App Store Server Notifications Version 2(StoreKit 2)のJWS検証と判定方法を解説!iOSAppleJwsサブスクリプションStoreKit2 こんにちは。virapture株式会社のもぐめっとです。 最近桜が咲いてたので京都で花見をしてきました。なかなか最高だったのでおすすめです。 日は久々にiOSのサブスク実装をしたらStoreKit2なるものが出ていて、新しくなってたのでサーバ側での検証の仕方や実装方針などを解説しようと思います。 今回はApp Store Server Notifications Version2での解説をいたします。 payload内容の解説、JWSの検証方法、イベントによる判定基準を紹介します。 詳細はこの動画が参考になるので見ておくことをおすすめです。 pa

    初心者でもわかるiOSサブスク課金のサーバ側の実装!App Store Server Notifications Version 2(StoreKit 2)のJWS検証と判定方法を解説! - Qiita
  • StoreKit2: .purchase() not working… | Apple Developer Forums

    I'll be sending it to TestFlight soon to try if it works there, was hoping to sort it out before submitting! I forgot to add in my original post, the call to purchase() (which is NOT popping a confirmation to purchase dialog) is returning a successful and verified result....but, the expiry date on the transaction is in the past.... Note: I've XXXX'd out some fields that shouldn't be relevant. Ran

  • iOSアプリの継続課金コンテンツに無料トライアル機能を導入する方法 - ZOZO TECH BLOG

    こんにちは! 最近暑いのでビール最高と感じている新事業創造部バックエンドエンジニアのりほやんです。 今回はAppleが提供しているお試し価格の機能のひとつである無料トライアル機能を紹介します。 お試し価格とは お試し価格とは自動更新の定期購読に対して割引価格を設定したり、定期購読の開始時に一定の無料トライアル期間を設けることができる機能です。 お試し価格には都度払い、前払い、無料トライアルの3種類があります。 お試し価格はユーザーにとって、有料会員の体験ができるとても便利な機能です。 しかし公式ドキュメント以外の資料が少なく実装に何点か困ったことがありました。 そこで今回はお試し価格の無料トライアル機能を導入する方法についてご紹介します。 この記事が無料トライアルを導入しようか悩んでいる方、実際に無料トライアルを導入する方のお役に立てば幸いです。 記事では、課金機能自体の実装の説明は行い

    iOSアプリの継続課金コンテンツに無料トライアル機能を導入する方法 - ZOZO TECH BLOG
  • StoreKit - 日本語ドキュメント - Apple Developer

    対象 iOS 3.0+ iPadOS 3.0+ macOS 10.7+ Mac Catalyst 13.0+ tvOS 9.0+ watchOS 6.2+ 概要 アプリでStoreKitを利用することで、以下の機能とサービスを提供することができます。 アプリ内課金 コンテンツやサービスのアプリ内課金の提供とプロモーションを行います。詳細については、「アプリ内課金」および「従来のアプリ内課金API」を参照してください。 広告ネットワークのアトリビューション 広告に起因するアプリのインストールを検証します。 Apple Music ユーザーがApple Musicを利用可能かチェックし、サブスクリプションを提案します。 おすすめとレビュー サードパーティのコンテンツをおすすめとして表示し、ユーザーがアプリの評価とレビューを行えるようにします。

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

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

    どこよりもわかりやすいiOS最強課金まとめ - Qiita
  • 『iPhoneアプリ開発に伴うApp内課金とsandboxの注意点備忘録』

    sandboxテスターは ブラウザでAppStoreにログイン後>ユーザーとアクセス>テスター で作成できる この時、既にappleでログインとして使っていたメールアドレスは使えない そして、テスターアドレスを iphoneの設定>AppStoreの最下部にsandbox用のメールアドレスで設定する 注意点は、ここで設定したアドレスはsandbox用で普段つかっているログインIDとは関係ない。 ただ、しばらくたつと忘れてしまって、sandboxでは、IDではできないから、テストの際、テストはsandboxのメールアドレスで やろうとIDをsandboxのメールアドレスにしようとして登録してしまうと、sandbox用に登録していたメールアドレスは sandboxで無効となってしまう。 また、sandboxのパスワードを忘れた場合で、sandboxでパスワードを変更するのではなく、ID

    『iPhoneアプリ開発に伴うApp内課金とsandboxの注意点備忘録』
  • 【開発ブログ】iOSアプリ内課金の開発におけるテストパターン – 株式会社EMoshU

    主にアプリ内課金には4つの種類が存在します。 今回、開発したアプリは消耗型を採用したため、稿は消耗型課金についてフォーカスした内容となっています。 StoreKitについて StoreKitは、アプリ内課金におけるAppStoreとのやり取りをサポートするフレームワークです。 アプリ内課金を実装する際、StoreKitを使用し課金処理を行います。 実装に必要となる主なクラスを一部ご紹介します。 SKProductsRequest 課金アイテムの情報をリクエストし、ユーザーが実際に課金できるプロダクトをAppStoreから取得します。 SKPaymentQueue AppStoreと通信し、ユーザーが課金処理を行うためのインターフェースを表示します。 SKPaymentTransaction 現在のトランザクションの状態を表すクラスです。 SKPaymentTransactionObser

    【開発ブログ】iOSアプリ内課金の開発におけるテストパターン – 株式会社EMoshU
    natsuon
    natsuon 2024/03/31
    内課金テスト]
  • 【SwiftUI】TabViewを使ってOnboardingを作成する - NRIネットコムBlog

    概要 環境 TabViewの基的な使い方 Tabの背景色やアイコンに色を付ける方法 Onboardingを作成 まとめ 概要 TabViewを使って以下の様なアプリ起動時に表示するOnboardingを作成してみたいと思います! 環境 この記事は以下のバージョン環境のもと作成されたものです。 【Xcode】14.0.1 【iOS】16.0.2 【macOS】Monterey バージョン 12.6 TabViewの基的な使い方 TabViewを使用することで簡単にタブと、そのタブに応じたViewを表示するViewを生成する事ができます。 サンプルコード struct OnboardingView: View { var body: some View { TabView { FirstTabView() .tabItem { Text("1") } SecondTabView() .ta

    【SwiftUI】TabViewを使ってOnboardingを作成する - NRIネットコムBlog
  • 【EIN取得】手段の選択肢とメリット・デメリットを実録とあわせて紹介 | 堺docs

    モバイルアプリの課金やKindleコンテンツ提供などで日米二重課税を回避するために必要なEIN(Employer Identification Number)。アメリカの役所に申請する必要があるので、不慣れな方には難しい工程です。私自身、色々と試行錯誤した末、ようやくEIN番号の通知書が手元に届きました。 これから取得するという方向けに、手続き方法について、実録も添えて紹介します。 この封筒でEIN番号通知書が送られてきました。国際電話で取得したので、番号はその場で教えてもらったのですが、書類が届いたのは電話の約1か月後でした。 手段は電話/FAX/郵送。所要時間も考えると、現実的には電話かFAX。 EIN番号の取得は、以下のいずれかの手段で取得可能です。郵送は1か月かかり、書類不備があると更に遅延します。現実的には電話かFAXでの取得が現実的でしょう。 「メールでお願いします」と言いたく

    【EIN取得】手段の選択肢とメリット・デメリットを実録とあわせて紹介 | 堺docs
  • Apple(App Store Connect)の米国納税フォームに申請する

    概要 課金機能を内包したiOSアプリを提出する。 それにあたり、米国納税フォームを記述する必要がある。全体像が分からないので調査 Apple公式ドキュメントより https://developer.apple.com/jp/help/app-store-connect/provide-tax-information/tax-forms-overview/ Apple から支払いを受け取るには、銀行口座情報を入力し、納税フォームを提出する必要があります。 米国の納税フォームは、すべてのデベロッパに必須です。その詳細はこちら いずれのデベロッパも、有料 App 契約の要件を満たすためには、米国の納税フォームを提出する必要があります。 米国外を拠点とする場合は、W-8BEN、W-8BEN-E、または W-8ECI が必要な場合があります。 自分たちの場合はW-8BEN-Eが案内されている。 W-

    Apple(App Store Connect)の米国納税フォームに申請する
  • StoreKit 2によるiOSのアプリ内課金のチュートリアル

    この StoreKit 2 チュートリアルにはサンプルコードとサンプルアプリが提供されており、以下のURLからダウンロードできます。https://github.com/RevenueCat/storekit2-demo-app. はじめに アプリ内課金とサブスクリプションはApp Storeで収益を上げるための最適な方法の一つです。Appleが新たにアップデートしたStoreKit 2は、アプリ内課金のためのフレームワークで、開発者はこれを利用してiOS、macOS、watchOS、tvOSのアプリにIAP(アプリ内課金)を追加できます。AppleのドキュメントにはStoreKitの使い方に関して基的な説明がありますが、複雑な部分の詳細や完全な使用例は提供されていません。 このチュートリアルでは、基的なコンセプト、App Store Connectの設定、StoreKit 2の導入方

    StoreKit 2によるiOSのアプリ内課金のチュートリアル
  • Laravelのトランザクション処理(効果的な実装方法と使用方法)

    Laravelのトランザクション処理(効果的な実装方法と使用方法) データの正確性と一貫性の問題は、小さな不便から大きな企業を揺るがす問題にまで発展する可能性があります。データベース内のデータを安全に保存、変更、消去するコードを構築することは、非常に重要です。 そこで、Laravelのトランザクション処理の登場です。 トランザクション処理は、データの整合性を確保するのに便利なアプローチです。Laravelを使えば、さまざまなデータベースでこのトランザクション処理をシンプルに実行できます。 では、トランザクション処理とは?Laravelで実際にどのように使うことができるのでしょうか? この記事を読み終える頃には、Laravelのトランザクション処理の概要と、プロジェクトでの効果的な使用方法を習得できているはずです。 Laravelのトランザクション処理とは 技術的な側面に進む前に、まずLar

    Laravelのトランザクション処理(効果的な実装方法と使用方法)
  • Laravelのマルチログインを図解しながら実装

    LaravelのBreezeを利用して、マルチログインを実装していきます。 すでにBreezeを使ったユーザーログインができることを前提で話をすすめていきます。まだユーザーログインが実装出来ていない場合は、前回の記事を参考に実装しておいてください。 Laravel Breezeで「ユーザー登録・ログイン」認証機能を作る! 実装する環境としては以下のとおりです。 Laravel 10.x PHP 8.2 マルチログインということで、ユーザー認証に加えて、管理者(Admin)という概念を加えて管理者用のログインを実装していきます。 なので今回のマルチログインでは、以下の2つの認証が存在することになります。 ユーザーログイン 管理者ログイン それぞれ別のテーブルで、それぞれの人を管理していくイメージです。 今回作成するマルチログインの構成について まずマルチログインを実装するにあたって、先にどの

    Laravelのマルチログインを図解しながら実装
  • App Store ConnectのW-8BEN更新

    2018年1月,App Storeで有料アプリを公開するために,W-8BENフォームを使った申請しました. このW-8BENフォームというのは,申請の3年後の年末まで有効なので,2021年12月31日で期限切れになりました. そこで,今回更新をしてみたので,記録を残しておきます. cf. 日在住のエンジニアが米国App Storeでアプリを公開する時にTax Informationに設定した内容と結果 | ottijp blog ちなみに,有効期限切れになってもAppleから特に連絡などはなかったので,こちらからコンタクトを取りました. App Store Connectの画面上は提出日が表示されているだけで,有効期限などの情報は表示されていませんでした. 免責 今回も,基的にWebの情報などを元に個人の判断で行っているため,この方法でやれば問題ないことを保証するものではありません.個

    App Store ConnectのW-8BEN更新
  • Apply for an employer identification number (EIN) online | Internal Revenue Service

    Credits & Deductions Overview INFORMATION FOR... Individuals For you and your family Businesses & Self-Employed Standard mileage and other information Forms & Instructions Overview POPULAR FORMS & INSTRUCTIONS Form 1040 Individual Tax Return Form 1040 Instructions Instructions for Form 1040 Form W-9 Request for Taxpayer Identification Number (TIN) and Certification Form 4506-T Request for Transcri

    Apply for an employer identification number (EIN) online | Internal Revenue Service