Esta guía describe el proceso de establecer los registros digitales y las relaciones necesarias para que un juego de Unity interactúe con un In-App Purchase Store. El API de compra Unity IAP está orientado.
Las In-App Purchase (IAP) es el proceso de transacción de dinero para bienes digitales. La Tienda de una plataforma permite la compra de Productos, que representan bienes digitales. Estos productos tienen un identificador, normalmente de tipo de dato string. Los productos tienen Tipos para representar su durabilidad: subscription (suscripción), consumable (capaz de ser re-comprado), y non-consumable (capaz de ser comprado sólo una vez) son los más comunes.
Escriba un juego implementando Unity IAP. Ver inicialización de Unity IAP e Integrando Unity IAP con su juego.
Mantenga los identificadores de los productos del juego a mano para su uso en iTunes Connect después.
En el Apple Developer Center, navegue a la sección de identificadores apropiada.
Agregue un nuevo App ID para crear una entidad de aplicación fundamental con Apple.
NOTA: Utilice un APP ID explícito. No se pueden utilizar IDs de aplicaciones comodín (com.example.*) Para aplicaciones que utilizan In-App Purchases.
NOTE: The App ID is available to use in iTunes Connect after you create it in the Developer Center.
Navegue a iTunes Connect y cree una App, para establecer una relación de la tienda con su juego.
Utilice el nuevo App ID creado para el Bundle ID de la app.
Escoja Features y agregue un nuevo In-App Purchase con el botón de más (“+”).
Escoja un Product Type (tipo de producto).
Especifique el Product Identifier (Identificador del producto), y complete otros campos como es solicitado.
NOTA: El “Product ID” aquí es el mismo identificador utilizado en el código fuente del juego, añadido a la instancia Unity IAP ConfigurationBuilder a través de AddProduct() o AddProducts().
NOTA: Al apuntar a varios grupos de dispositivos de Apple (por ejemplo, lanzar en iOS y Mac) Apple requiere el uso de identificadores de producto únicos y diferentes para cada grupo de dispositivos distintos. Utilice la clase Unity IAP’s Purchasing.IDs y defina una identificación de un-a-muchos de los identificadores de producto a los identificadores específicos de la tienda y pase esa asignación cuando inicialice IAP.
Resultado:
Create Sandbox Testers using iTunes Connect for use on your test device’s iTunes Account. To do this, navigate to iTunes Connect > Users and Roles, and choose the plus (“+”) button. You must review Apple’s Sandbox Tester documentation as there are several additional important usage notes, and you must use a real email address to create Testers.
NOTA: Mire las guías de la aplicación tienda iOS y Mac para detalles adicionales.
RECOMENDACIÓN: (*) Para simplificar la administración de la dirección de correo electrónico, utilice un servicio de correo electrónico capaz de sub-direccionar (emailaccount+subaddress@example.com) como Gmail, iCloud y Outlook.com. Esto permite que una cuenta de correo electrónico reciba correo electrónico para varias sub-direcciones.
Camine a través del wizard de creación de usuario.
Construya el proyecto Xcode para su juego utilizando Unity.
NOTE: Ensure the Bundle Identifier in Unity (Edit > Project Settings, then select the Other Settings category, and navigate to the Bundle Identifier section) matches that used in iTunes Connect.
Luego, en el proyecto de Xcode de su juego, asegúrese de que el Equipo (Project Navigator > your game Target > General > Identity > Team) esté configurado con el de su cuenta de Apple Developer (desarrollador de Apple).
Using the target iOS device, sign out of any existing Apple ID accounts. Only sign in as the Sandbox Tester when prompted by the app, later. Any subsequent purchases are routed through the Apple Sandbox instead of the Production Store.
Build and run the game on your iOS device. UnityPurchasing.Initialize()
succeeds if everything has been correctly configured. See Unity Purchasing Initialization
Test the IAP by making a purchase in the game on the device. A modified purchase dialog displays, explaining that this purchase is being performed in the Sandbox Environment. Use the Sandbox User Tester password when prompted for purchase.
WARNING: If the indicator is not present, then an account is charged real money for the product.
When building a desktop Mac build, select Mac App Store Validation within Unity’s Mac Player settings.
Una vez haya sido construida la App, actualice su archivo info.plist con el identificador de su bundle y strings de versión. Haga click derecho en el archivo .app y haga click en Show Package Contents, ubique el archivo Info.plist
y actualice el string CFBundleIdentifier
al identificador del bundle de su aplicación.
Firme, empaquete, e instale su aplicación. Corra los siguientes comandos desde una terminal OSX llenando con su “su.app” y “su.pkg” adecuadamente.
SUGERENCIA: Para firmar el bundle (paquete), puede que primero tenga que quitar el archivo Contents.meta si existe: your.app/Contents/Plugins/unitypurchasing.bundle/Contents.meta
codesign -f --deep -s "3rd Party Mac Developer Application: " your.app/Contents/Plugins/unitypurchasing.bundle
codesign -f --deep -s "3rd Party Mac Developer Application: " su.app
productbuild --component your.app /Applications --sign "3rd Party Mac Developer Installer: " su.pkg
Para instalar el paquete correctamente, borre el paquete .app sin empaquetar antes de correr el nuevo paquete creado e instalarlo.
Launch the app from the Applications folder. The first time you do so, you are prompted to enter your iTunes account details, for which you can then make test purchases against the sandbox environment.
Consulte las páginas de Funcionalidad extendida de iOS y Mac y Entrega de aplicaciones a la tienda Apple Mac para obtener información adicional sobre las pruebas y la firma de la Apple App Store.