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 Singular SDK.
Instalar o SDK
Para adicionar o SDK React Singular ao seu projeto:
- Abra o terminal no diretório raiz do seu projeto.
-
Baixe o pacote SDK para seu projeto com o seguinte comando:
npm install singular-react-native --save
- Se você estiver usando o React Native 0.60+, o pacote Singular será vinculado automaticamente ao seu projeto.
-
Se você estiver usando o React Native versão 0.59 ou anterior, execute o seguinte para vincular o código de ponte nativo do pacote Singular ao seu projeto:
react-native link singular-react-native
- Se você estiver usando Expo: Depois de instalar o SDK do Singular conforme descrito acima, adicione o pacote à matriz de plug-ins do seu app.json ou app.config.js:
"expo": { "plugins": ["singular-react-native"] }
Configurar pré-requisitos
Pré-requisitos do iOS
No diretório raiz do projeto, execute o seguinte comando:
cd ios && pod install
Pré-requisitos do Android
No arquivo project/build.gradle, na seção allprojects, adicione o seguinte aos repositórios Maven do seu aplicativo:
allprojects {
repositories {
maven { url 'https://maven.singular.net/' }
}
}
Adicionando permissões e dependências necessárias do Android
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>
Se tiver desativado as dependências transitivas para o SDK Singular, adicione o seguinte ao seu app/build.gradle:
dependencies {
...
implementation 'com.android.installreferrer:installreferrer:2.2'
implementation 'com.google.android.gms:play-services-appset:16.0.0'
...
}
Requisitos de configuração se estiver usando o Proguard
Configurando o ProGuard para o Singular SDK no React Native Android
Ao integrar o Singular SDK do Android em seu aplicativo Android React Native, você deve adicionar regras específicas do ProGuard para garantir que o SDK funcione corretamente em compilações de versão. O ProGuard (ou R8, seu substituto moderno) é habilitado por padrão nas compilações de versão do React Native para otimizar e ofuscar o código. Sem as regras adequadas do ProGuard, o SDK Singular ou suas dependências podem ser removidos ou ofuscados, causando problemas de tempo de execução.
Siga estas etapas para configurar o ProGuard para o SDK Singular:
- Localize o arquivo de regras do ProGuard: No seu projeto React Native, navegue até o arquivo android/app/proguard-rules.pro. Esse arquivo contém regras personalizadas do ProGuard para seu aplicativo.
- Adicionar regras do Singular SDK ProGuard: Anexe as seguintes linhas a android/app/proguard-rules.pro para preservar o SDK Singular e suas dependências:
# Preserve Singular SDK classes
-keep class com.singular.sdk.** { *; }
# Preserve Android Install Referrer library
-keep public class com.android.installreferrer.** { *; }
# Uncomment the following line if you are using the Singular 'revenue' function with Google Play Billing Library
#-keep public class com.android.billingclient.** { *; }
Integrar o SDK
Observação: Lembre-se de permanecer em conformidade com as várias leis de privacidade promulgadas nas regiões em que faz negócios, incluindo, mas não se limitando a, 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.
O código de inicialização do SDK deve ser chamado sempre que seu aplicativo for aberto. Ele é um pré-requisito para todas as funcionalidades de atribuição do Singular e também envia uma nova sessão de usuário para o Singular. As sessões são usadas para calcular a retenção de usuários.
Importando a biblioteca do Singular
No seu arquivo App.tsx, adicione o seguinte código para importar as classes do Singular.
import { Singular, SingularConfig, Events, Attributes } from 'singular-react-native';
Inicializando o SDK do Singular
- Crie um objeto SingularConfig. O objeto contém a sua Chave SDK e o Segredo SDK (obtenha a Chave e o Segredo iniciando sessão na sua conta Singular e navegando para"Ferramentas de Programador > Integração SDK > Chaves SDK").
-
Opcionalmente, adicione vários métodos de configuração para definir ou ativar vários recursos do SDK.
- Em seguida, use o métodoinit para inicializar o SDK, passando o objeto SingularConfig objeto.
Por exemplo:
import React, { useEffect } from 'react';
import { Singular, SingularConfig, Events, Attributes } from 'singular-react-native';
export default function App() {
useEffect(() => {
// Create Singular configuration
const config = new SingularConfig('SDK KEY', 'SDK SECRET')
.withCustomUserId('user_123456') // Set a custom user ID for tracking
.withLimitDataSharing(false) // Allow data sharing (set to true for compliance if needed)
.withFacebookAppId('123456789012345') // Optional: For Facebook integration
.withLogLevel(3) // Enable verbose logging for debugging
.withLoggingEnabled(); // Enable SDK logs
// Define SingularLink callback for deep linking
const handleSingularLink = (params: any) => {
console.log('SingularLink params:', params);
// Example: Navigate to a specific screen based on params.deeplink
};
// Initialize Singular SDK
Singular.init(config, handleSingularLink);
}, []); // Empty dependency array ensures this runs once on app start
return (
// Your app's UI components
);
}