@gabagool-sdk/react-native 0.2.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5 -0
- package/README.md +23 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
## 0.3.0
|
|
2
|
+
|
|
3
|
+
* **Funciona sem polyfill de crypto**: o core não exige mais `crypto.getRandomValues` (ver `@gabagool-sdk/core` 0.3.0); `react-native-get-random-values` passa de obrigatório (0.2.x) a recomendado: se o app tiver, é usado e os ids ganham aleatoriedade criptográfica; sem ele os ids saem de `Math.random`. Requer `@gabagool-sdk/core` ^0.3.0.
|
|
4
|
+
* **Fix do Metro**: o campo `"react-native"` do `package.json` apontava para `src/index.ts`, e o Metro resolvia o fonte TS com imports `./x.js` e quebrava. Agora aponta para o JS compilado (`dist/index.js`, o mesmo do `main`), que já vai no pacote (`files`).
|
|
5
|
+
|
|
1
6
|
## 0.2.1
|
|
2
7
|
|
|
3
8
|
* `GabagoolAds.setRewardedSsv({ userId?, customData? })`: SSV do rewarded, mesma semântica do Dart e do core (antes ou depois do `init`; `userId` > `identify`; `customData` ≤ 1024). O adapter aplica `serverSideVerificationOptions` (`react-native-google-mobile-ads` 17.x) no `RewardedAd.createForAdRequest`. Não testado em aparelho. Requer `@gabagool-sdk/core` ^0.2.1.
|
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@ O servidor Gabagool decide segmento, ad units e pisos a cada `init`; o piso vai
|
|
|
5
5
|
**key-value de targeting** (a key de piso é configurada no painel Gabagool, com a grafia exata do
|
|
6
6
|
valor do piso). Sem configuração do servidor, o SDK não exibe anúncios.
|
|
7
7
|
|
|
8
|
-
**Limitação da versão 0.2.
|
|
8
|
+
**Limitação da versão 0.2.x:** o formato **native** ainda não é suportado neste pacote
|
|
9
9
|
(interstitial, rewarded, banner e app open já funcionam). Android é o alvo testado;
|
|
10
10
|
no iOS, passe `installInfoProvider` no `init` (o plugin de Play Install Referrer é Android-only).
|
|
11
11
|
|
|
@@ -15,6 +15,27 @@ Mais detalhes: https://gabagool.com.br
|
|
|
15
15
|
|
|
16
16
|
```bash
|
|
17
17
|
npm install @gabagool-sdk/react-native react-native-google-mobile-ads @react-native-async-storage/async-storage react-native-play-install-referrer
|
|
18
|
+
# recomendado (opcional a partir da 0.3.0):
|
|
19
|
+
npm install react-native-get-random-values
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
**Polyfill de `crypto.getRandomValues`: recomendado a partir da 0.3.0, obrigatório na 0.2.x.**
|
|
23
|
+
- **0.3.0 ou mais nova**: o SDK funciona sem o polyfill. Se faltar `crypto.getRandomValues`, os ids de evento e de
|
|
24
|
+
instalação saem de `Math.random` (servem como id, não como segredo). Com o polyfill instalado, ele é usado sozinho e
|
|
25
|
+
os ids ganham aleatoriedade criptográfica, por isso é o recomendado.
|
|
26
|
+
- **0.2.x**: sem o polyfill o `init` falha com `crypto.getRandomValues() not supported` e nenhum anúncio aparece
|
|
27
|
+
(confirmado em aparelho em 14/11/2026). Atualize para a 0.3.0 ou instale o polyfill.
|
|
28
|
+
|
|
29
|
+
Se instalar, importe na **primeira linha do arquivo de entrada** do app, antes de qualquer import do SDK:
|
|
30
|
+
|
|
31
|
+
```js
|
|
32
|
+
// index.js — primeira linha, antes de qualquer import do @gabagool-sdk
|
|
33
|
+
import 'react-native-get-random-values';
|
|
34
|
+
import { AppRegistry } from 'react-native';
|
|
35
|
+
import App from './App';
|
|
36
|
+
import { name as appName } from './app.json';
|
|
37
|
+
|
|
38
|
+
AppRegistry.registerComponent(appName, () => App);
|
|
18
39
|
```
|
|
19
40
|
|
|
20
41
|
Você precisa de uma **chave de API** (`x-api-key`) do seu app, gerada no painel Gabagool.
|
|
@@ -36,6 +57,7 @@ no `Info.plist` conforme a documentação do `react-native-google-mobile-ads`.
|
|
|
36
57
|
## 3. Init
|
|
37
58
|
|
|
38
59
|
```tsx
|
|
60
|
+
// se instalou o polyfill recomendado, ele já foi importado na 1ª linha do index.js (seção 1)
|
|
39
61
|
import { GabagoolAds } from '@gabagool-sdk/react-native';
|
|
40
62
|
|
|
41
63
|
await GabagoolAds.init('SUA_API_KEY', 'https://apps.gabagool.com.br', 'com.seu.app', {
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gabagool-sdk/react-native",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "React Native SDK for Gabagool Apps monetization: interstitial, rewarded and banner ads with server-side config, price floors and gating, on top of Google Mobile Ads (Ad Manager / AdMob).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
8
|
-
"react-native": "
|
|
8
|
+
"react-native": "dist/index.js",
|
|
9
9
|
"files": [
|
|
10
10
|
"dist",
|
|
11
11
|
"src",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"prepack": "npm run build"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@gabagool-sdk/core": "^0.
|
|
26
|
+
"@gabagool-sdk/core": "^0.3.0"
|
|
27
27
|
},
|
|
28
28
|
"peerDependencies": {
|
|
29
29
|
"@react-native-async-storage/async-storage": "^3.1.1",
|