Implementando In-App Purchases para BlackBerry 10

BlackBerry, Tutorials, Unity

Neste tutorial, explicarei como implementar o plugin de In-App Purchases para BlackBerry em jogos feitos no Unity.
Leia o tutorial INTEIRO com atenção, e dê atenção especial aos parágrafos em VERMELHO, que podem te dão informações vitais e te poupar futuras dores de cabeça.

Este tutorial será explicado na seguinte ordem:
-Criação dos produtos no Vendor Portal
-Importação do plugin de In-App Purchases no projeto do Unity
-Implementação do plugin utilizando a cena Demo como exemplo
-Teste da implementação

Criação dos Produtos no Vendor Portal

1.1 – Faça login no Vendor Portal
1.2 – Clique em “Manage Products”
1.3 – Pressupondo que você já criou seu aplicativo no Vendor Portal, clique no sinal de + da aba Goods (marcada em vermelho na imagem abaixo)

Vendor Portal-Goods

Você verá a tela “Add a Virtual Good”:

Vendor Portal - Add Virtual Good

1.4 – Preencha este formulário, e se estiver na dúvida sobre algum dos campos, veja esta explicação:

Name é o nome mostrado apenas no seu Vendor Portal
SKU é o código de identificação do produto que você usará no seu script, costumo usar o formato “NomeDoJogo_NomeDoProduto” (o SKU equivale ao Product ID da App Store e do Google Play, padronizá-lo pode ser útil)
License Type, preste bem atenção às diferenças das licenças:
*Non-consumable: serve para produtos duradouros, que ficarão salvos na conta do jogador, por exemplo, um pacote de Personagens.
*Consumable: serve para produtos consumíveis, que podem ser usados apenas 1 vez, por exemplo, um pacote de moedas.
*Subscription: serve para assinaturas, dá ao usuário o direito de gozar de determinado produto dentro do prazo especificado (7 ou 30 dias)
Price define o preço do produto
US Withholding Tax Classification você deve escolher como será feita a coleta de impostos sob o produto nos EUA, para produtos consumable/non-consumable recomendo usar o formato “One-time”
Canada Withholding Tax Classification eu sigo o mesmo modelo da US Withholding Tax Classification, ou seja “One-time”
License Model for BlackBerry OS and PlayBook eu recomendo escolher “Static”, que é o formato mais comum (o mesmo que se usa no Google Play e App Store) e eu particularmente não faço ideia de como se usa os outros formatos, então não me arrisco a recomendá-los.

1.5 – Para completar a criação deste produto, clique em Save. Se quiser criar mais um antes de continuar o tutorial, clique em “Save and Add Another” e preencha o formulário novamente.

Importando o Plugin de In-App Purchases no Unity

2.1 – Acesse a Asset Store dentro do Unity (CTRL+9 no Windows, Command+9 no Mac)
2.2 – Procure por “BlackBerry” na busca da Asset Store
2.3 – Selecione o plugin BlackBerry In-App Purchasing
2.4 – Clique em Import, para importar o plugin no seu projeto

BlackBerry In-App Purchasing Plugin

2.5 – Importe TODOS os arquivos do plugin para o seu projeto

Implementação do Plugin

Após ter importado o plugin no seu projeto:
3.1 – Abra a cena demo do plugin, chamada “BlackBerryIAPTestScene”, que se encontra dentro da pasta BlackBerry/IAP
3.2 – Selecione o gameobject chamado “UI” e abra o script BlackBerryIAPTest.cs que está nele

3.4 – As primeiras variáveis do script são strings onde você deve colocar a SKU do produto que você criou no Vendor Portal, se você tiver criado 3 produtos, pode preencher as 3 strings com os 3 SKUs desses produtos, por exemplo:


 string ITEM_1_SKU = "NomeDoJogo_NomeDoProduto01";
 string ITEM_2_SKU = "NomeDoJogo_NomeDoProduto02";
 string ITEM_3_SKU = "NomeDoJogo_NomeDoProduto03";

3.5 – Em seguida, vem a variável localTesting, que deve ser definida como TRUE quando você quiser testar os IAPs em modo local/offline.
*a variável localTesting deve estar FALSE quando você for gerar a build Submission

3.6 – Na função Start se atribuem funções aos eventos do BlackBerryIAP.cs (que é uma classe atribuída ao gameobject BlackBerryIAP da cena de demonstração). Por exemplo: a função PurchaseSuccessful está atribuída ao evento PurchaseSuccesfulEvent, que é disparado toda vez que uma compra for concluída.

3.7 – Na função OnGui, se encontram os botões da cena de demonstração (“Purchase SKU 1”, “Purchase SKU2”, etc).

3.8 – Quando um botão de “Purchase SKU” da função OnGui é acionado, ele chama a função BuySKU (que está logo abaixo da OnGui), que por sua vez, solicita a compra do produto através do método BlackBerryIAP.Purchase(sku, null, null, null, null, null, null)

3.9 – Quando a compra for completada, o evento PurchaseSuccessfulEvent do BlackBerryIAP.cs vai ser disparado, e consequentemente, a função PurchaseSuccessful será chamada.

3.10 – Dentro da função PurchaseSuccessful, você deve dizer O QUE acontece quando a compra do produto for completada. A variável args.DigitalGoodSku desta função, é a string do SKU do produto que acabou de ser comprado.

Existem outros eventos que podem ser úteis, por exemplo:
-ExistingPurchasesSuccessfulEvent, que carrega a lista de todos os produtos comprados pela conta do usuário.
-GetPriceSuccessfulEvent, que puxa o preço do produto.

Use esses eventos conforme suas necessidade.
É só isso que você precisa, agora veja as maneiras de testar.

Testando as In-App Purchases

Existem 2 métodos de teste de In-App Purchases:

Local Testing: não requer que você faça upload do jogo no Vendor Portal. Para utilizá-lo, você precisa:
-Definir a variável localTesting da classe BlackBerryIAPTest.cs como TRUE.
-Instalar o jogo no seu celular
-Tentar comprar algum produto

Sandbox: é o método mais seguro de teste, pois abre o diálogo de compra padrão da BlackBerry, solicitando login e dados de compra do usuário. Para utilizá-lo, você deve passar por 2 processos, 1 no computador e outro no seu smartphone/tablet BlackBerry. Ambos explicados abaixo:

1. No computador:
-Gerar uma build com a variável localTesting da classe BlackBerryIAPTest.cs definida como FALSE
-Fazer upload dessa build/release do seu jogo na página Manage Products no Vendor Portal, podendo deixá-la no status Draft
-Clicar em Sandbox, no Vendor Portal
-Clicar em “Add New User”
-Cadastrar o e-mail de uma conta da BlackBerry World que será utilizada para testar o jogo e as In-App Purchases

2. No celular/tablet:
-Abrir o aplicativo BlackBerry World no seu aparelho BlackBerry.
-Abrir as “Configurações” do BlackBerry World, deslizando o dedo a partir do TOPO da tela
-Clicar em “Modo de Desenvolvimento”
-Digitar o ID do seu jogo (que se encontra na página “Edit Product” do seu aplicativo)Edit Product

-SE o BlackBerry World já tiver atualizado, você verá a página de download do seu jogo, e você poderá baixar. Mas isso pode demorar em torno de 2 horas após você ter feito o upload do jogo, então, se ainda não estiver disponível, não se desespere.
-Após baixar o jogo no seu celular, basta realizar as compras de IAP utilizando a conta que você cadastrou no Sandbox, você não receberá despesa nenhuma na fatura do seu cartão de crédito.

LEMBRE-SE: a classe BlackBerryIAP.cs SEMPRE deve estar adicionada a um gameobject com o nome BlackBerryIAP (não pode ser diferente), que SEMPRE deve estar presente na cena em que houver compras(in-app purchases), caso o contrário, o evento PurchaseSuccessful não vai funcionar, e o usuário não receberá o produto que ele comprou.

Espero ter ajudado muitas pessoas, pois sei que tem sido difícil lucrar nesta plataforma.
A BlackBerry disponibiliza um ótimo plugin gratuito, mas uma fraquíssima documentação.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s