Assista a este vídeo para obter uma visão detalhada do processo de integração. Recomendamos que utilize tanto o vídeo como o guia escrito abaixo.
Antes de começar: Pré-requisitos do SDK
Siga as etapas em Integração de um SDK Singular:Planejamento e pré-requisitos.
Essas etapas são pré-requisitos para qualquer integração do SDK Singular.
Instalar o SDK
Adicionando o SDK usando o Gradle
Observação: A partir do Gradle 7, o Android sugere o uso de declarações de repositório centralizadas em settings.gradle em vez de declaraçõesbuild.gradle no nível do projeto ou do módulo .
-
Adicione o repositório Singular SDK ao arquivo settings.gradle:
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() maven{ url = uri("https://maven.singular.net/") } } }
OU em versões mais antigas do Gradle, adicione o repositório Singular SDK ao arquivo project/build.gradle:
repositories { mavenCentral() maven { url 'https://maven.singular.net/' } }
-
Adicione a biblioteca Singular à lista de dependências em app/build.gradle:
dependencies { ... implementation 'com.google.android.gms:play-services:6.5.87' implementation 'com.singular.sdk:singular_sdk:12.7.1' ... }
Além disso, adicione o seguinte para dar suporte ao referenciador de instalação da Samsung Galaxy Store se seu aplicativo for distribuído por meio da Samsung Galaxy Store:
dependencies { ... implementation 'store.galaxy.samsung.installreferrer:samsung_galaxystore_install_referrer:4.0.0' ... }
-
Se tiver desativado as dependências transitivas para o SDK Singular, adicione o seguinte à sua app/build.gradle:
dependencies { ... implementation 'com.android.installreferrer:installreferrer:2.2' implementation 'com.google.android.gms:play-services-appset:16.0.0' ... }
-
Se o seu aplicativo não implementar a API 17.0.0 ou superior do Google Play Services , adicione a seguinte dependência ao arquivo app/build.gradle:
dependencies { ... implementation 'com.google.android.gms:play-services-ads-identifier:17.0.0+' ... }
Nota: Os utilizadores do Gradle 1.x-2.x devem usar "compile" em vez de "implementation" para adicionar dependências.
Adicionando o SDK sem o Gradle
- Faça o download do SDK a partir do link no topo da página.
- Descompacte o pacote SDK e adicione Singular.aar no diretório libs do seu projeto Android. Se ele não existir, crie um diretório chamado libs na pasta do seu projeto (geralmente em <project>/app/libs).
Adicione nosso repositório maven ao pom.xml do seu projeto:
<project ...>
<repositories>
<repository>
<id>singular.net</id>
<url>http://maven.singular.net/</url>
</repository>
</repositories>
</project>
Adicionar a dependência:
<dependency>
<groupId>com.singular.sdk</groupId>
<artifactId>singular_sdk</artifactId>
<version>12.7.1</version>
</dependency>
Você pode usar o plugin AAR do Eclipse: gradle-eclipse-aar-plugin
Se você não quiser usar o plugin, siga estes passos:
- Descompacte singular_sdk-12.7.1.aar.
- Renomeie classes.jar para singular_sdk-12.7.1.jar (este é o jar principal do SDK).
- Adicione a biblioteca 'com.android.installreferrer:installreferrer:2.2' ao seu projeto da forma que preferir.
- Copie a permissão BIND_GET_INSTALL_REFERRER_SERVICE do AndroidManifest.xml contido no AAR para o seu AndroidManifest.xml
- copie as permissões CHECK_LICENSE do AndroidManifest.xml contido no AAR para o seu AndroidManifest.xml
Requisitos se estiver a utilizar o Proguard
Adicione as seguintes linhas de código ao seu ficheiro proguard.config:
-keep class com.singular.sdk.** { *; }
-keep public class com.android.installreferrer.** { *; }
# Uncomment this line in case your are calling the 'revenue' function using the Google billing library
#-keep public class com.android.billingclient.** { *; }
Adicionando permissões necessárias
Adicione essas permissões sob a tag <manifest> no seu arquivo AndroidManifest.xml:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="BIND_GET_INSTALL_REFERRER_SERVICE" />
<uses-permission android:name="com.android.vending.CHECK_LICENSE" />
<uses-permission android:name="com.google.android.gms.permission.AD_ID" />
Para suportar o referenciador de instalação da Samsung Galaxy Store, adicione o seguinte:
<queries>
<package android:name="com.sec.android.app.samsungapps" />
</queries>
Integrar o SDK
Nota: Lembre-se de manter a conformidade com as várias leis de privacidade promulgadas nas regiões onde está a fazer negócios, incluindo GDPR, CCPA e COPPA, ao implementar os SDKs Singular. Para obter mais informações, consulte Práticas de aceitação e exclusão de SDK.
Importando a biblioteca Singular
Para importar a biblioteca Singular, adicione a seguinte importação ao seu arquivo MainActivity:
import com.singular.sdk.*;
import com.singular.sdk.*
Inicializando o SDK Singular
Inicializando o SDK Singular com uma função privada
Para habilitar o rastreamento e a atribuição de sessões, o SDK Singular deve ser inicializado sempre que seu aplicativo for iniciado. Recomendamos criar um método privado, initSingularSDK(), e chamá-lo a partir do método onCreate() de MainActivity.
Siga estas etapas:
- Adicione a função: Coloque o seguinte método dentro da sua classe MainActivity (ou qualquer ponto de entrada Activity).
- Insira as credenciais: Substitua "SDK KEY" e "SDK SECRET" pela sua chave e segredo do Singular SDK do seu painel do Singular.
-
Atualizar o objeto SingularConfig: Antes de inicializar o SDK, é necessário criar um objeto SingularConfig. Opcionalmente, quaisquer preferências do SDK que você queira definir devem ser definidas aqui. Use a Referência do Método SingularConfig abaixo para ver as opções:
Referência do método SingularConfig: Veja todas as opções ".with" disponíveisA tabela abaixo lista todos os métodos ".with" disponíveis para o objeto SingularConfig para adicionar opções e funcionalidades à sua aplicação.
Encontrará detalhes sobre cada funcionalidade nas secções abaixo ou em Opções avançadas.
Método
Descrição do método
.withFacebookAppId(String facebookAppID)
Configura a ID do aplicativo do Facebook. Necessário para atribuição de "Meta Install Referrer".
Consulte"Onde posso encontrar a ID de aplicativo do Facebook de um aplicativo?"
.withCustomUserId(String customId)
Envia a ID do usuário para o Singular.
.withSingularLink(getIntent(), SingularLinkHandler handler)
Habilita o deep linking com Singular Links.
.withDDLTimeoutInSec (long timeout)
Define o período de tempo que o Singular procura por um deep link diferido quando o aplicativo é aberto pela primeira vez.
.withOpenURI (URI openURI)
Busca o URI da intenção (para processar deep links se o aplicativo for aberto através de um link que não seja originário do Singular).
.withGlobalProperty(String key, String value, boolean overrideExisting)
Define uma propriedade global para um determinado valor. A chave e o valor serão enviados para o Singular com qualquer evento/sessão enviado pela aplicação.
.withSessionTimeoutInSec (long timeout)
Define o tempo limite da sessão.
.withFCMDeviceToken(String token)
Define o token FCM a ser enviado na primeira sessão.
.withLoggingEnabled ()
Ativar o registo.
.withLogLevel (int level)
Configura o nível de registo (a predefinição é Log.ERROR).
- Chamar a função: Invoque initSingularSDK() em onCreate() após a configuração da interface do usuário, mas antes de registrar eventos.
Aqui está a implementação básica:
private void initSingularSDK() {
// Configure Singular with SDK key and secret
SingularConfig config = new SingularConfig("SDK KEY", "SDK SECRET");
try {
Singular.init(getApplicationContext(), config);
Log.d("Singular", "SDK initialized successfully");
} catch (Exception e) {
Log.e("Singular", "SDK initialization failed: " + e.getMessage());
}
}
private fun initSingularSDK() {
// Configure Singular with SDK key and secret
val config = SingularConfig("SDK KEY", "SDK SECRET")
try {
Singular.init(applicationContext, config)
Log.d("Singular", "SDK initialized successfully")
} catch (e: Exception) {
Log.e("Singular", "SDK initialization failed: ${e.message}")
}
}
Exemplo de utilização em MainActivity
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Initialize Singular SDK
initSingularSDK();
// Proceed with your app setup (e.g., UI initialization)
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// Initialize Singular SDK
initSingularSDK()
}
Detalhes da chave
- Colocação: Adicione este método em MainActivity, não na classe Application, para garantir o rastreamento adequado da sessão.
- Tratamento de erros: O bloco try-catch regista erros de inicialização (por exemplo, credenciais inválidas) sem bloquear a sua aplicação.
- Deep Linking (opcional): Para lidar com links profundos (por exemplo, URLs que iniciam seu aplicativo), consulte nosso artigo Suporte a links profundos para obter a configuração estendida.
- Suporte à atribuição de referenciador da instalação META: Adicione a opção de configuração config.withFacebookAppId("FacebookAppID") para ativar a atribuição "Meta Install Referrer".
Dica profissional: Se o seu aplicativo suportar vários pontos de entrada (por exemplo, links profundos), certifique-se de que initSingularSDK() seja chamado em cada atividaderelevante onCreate() para garantir um comportamento consistente.