47 lines
3.4 KiB
Markdown
47 lines
3.4 KiB
Markdown
## README - In-App Purchasing Sample Scenes - Local Validation
|
||
|
||
This sample showcases how to use the cross-platform validator to do local receipt validation. The cross-platform
|
||
validator supports the Google Play Store and Apple App Store.
|
||
|
||
## Local validation
|
||
|
||
**Important:** While Unity IAP provides a local validation method, local validation is more vulnerable to fraud.
|
||
Validating sensitive transactions server-side where possible is considered best practice. For more information, please
|
||
see [Apple](https://developer.apple.com/documentation/storekit/in-app_purchase/choosing_a_receipt_validation_technique)
|
||
and [Google Play’s](https://developer.android.com/google/play/billing/security) documentation on fraud prevention.
|
||
|
||
If the content that the user is purchasing already exists on the device, the application simply needs to make a decision
|
||
about whether to unlock it.
|
||
|
||
Unity IAP provides tools to help you hide content and to validate and parse receipts through Google Play and Apple
|
||
stores.
|
||
|
||
For more information, see the [documentation](https://docs.unity3d.com/Manual/UnityIAPValidatingReceipts.html) on the
|
||
topic.
|
||
|
||
## Instructions to test this sample:
|
||
|
||
1. Have in-app purchasing correctly configured with
|
||
the [Google Play Store](https://docs.unity3d.com/Packages/com.unity.purchasing@4.0/manual/UnityIAPGoogleConfiguration.html)
|
||
or [Apple App Store](https://docs.unity3d.com/Packages/com.unity.purchasing@4.0/manual/UnityIAPAppleConfiguration.html).
|
||
1. (Alternatively) For local-only Xcode testing, follow the [Apple StoreKit Testing](https://developer.apple.com/documentation/Xcode/setting-up-storekit-testing-in-xcode) process to set up a local StoreKit Configuration.
|
||
2. Set your own product's id in
|
||
the `InAppPurchasing game object > Local Receipt Validation script > Gold Product Id field`
|
||
or change the `GoldProductId` value in the `LocalReceiptValidation.cs` script.
|
||
3. This sample uses the `GooglePlayTangle`, `AppleTangle`, and `AppleStoreKitTestTangle` classes. To generate these classes in your project, do the
|
||
following:
|
||
1. Get your license key from the [Google Play Developer Console](https://play.google.com/apps/publish/). _(Skip this
|
||
step if you do not plan on supporting the Google Play Store)_
|
||
1. Select your app from the list.
|
||
2. Go to "Monetization setup" under "Monetize".
|
||
3. Copy the key from the "Licensing" section.
|
||
2. Open the obfuscation window from `Services > In-App Purchasing > Receipt Validation Obfuscator`.
|
||
3. Paste your Google Play key. _(Skip this step if you do not plan on supporting the Google Play Store)_
|
||
4. Obfuscate the key. (Creates `GooglePlayTangle`, `AppleTangle`, and `AppleStoreKitTestTangle` classes in your project.)
|
||
5. (Optional) To ensure correct revenue data, enter your key in the Analytics dashboard.
|
||
4. Add the sample scene to the build settings in the `Build Settings` window
|
||
5. Build your project for `Android`*, `iOS`, `macOS`, or `tvOS`.
|
||
1. (Alternatively) For local-only [Apple StoreKit Testing](https://developer.apple.com/documentation/Xcode/setting-up-storekit-testing-in-xcode), follow the process to assign the StoreKit Configuration to the current Scheme.
|
||
|
||
###### *If you are on Android, make sure the `GooglePlayStore` is selected. You can change the currently selected store under `Services > In-App Purchasing > Configure` and changing the `Current Targeted Store` field.
|