Appsflyer ์—ฐ๋™

๐Ÿ“˜

ํ•ตํด์„ ์™ธ๋ถ€ ์„œ๋น„์Šค์™€ ์—ฐ๋™ํ•˜์—ฌ ๋” ํŽธ๋ฆฌํ•˜๊ฒŒ ์‚ฌ์šฉํ•ด๋ณด์„ธ์š”.

Appsflyer ๊ณต์‹ ์—ฐ๋™์€ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ํ”Œ๋žœ์ธ ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Appsflyer๋Š”?

Appsflyer๋Š” ๋ชจ๋ฐ”์ผ ๋งˆ์ผ€ํŒ… ๋ถ„์„ ๋ฐ ์–ดํŠธ๋ฆฌ๋ทฐ์…˜ ์†”๋ฃจ์…˜์œผ๋กœ, ๊ด‘๊ณ  ์บ ํŽ˜์ธ์˜ ์„ฑ๊ณผ๋ฅผ ์ถ”์ ํ•˜๊ณ  ๋ชจ๋ฐ”์ผ ์•ฑ์˜ ์‚ฌ์šฉ์ž ํš๋“์„ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ฃผ๋Š” ๊ธ€๋กœ๋ฒŒ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ํ–‰๋™ ๋ฐ์ดํ„ฐ๋ฅผ ์ข…ํ•ฉ์ ์œผ๋กœ ๋ถ„์„ํ•˜์—ฌ ๋งˆ์ผ€ํŒ… ์ „๋žต์˜ ํšจ๊ณผ๋ฅผ ํ‰๊ฐ€ํ•˜๊ณ , ๋‹ค์–‘ํ•œ ๋งˆ์ผ€ํŒ… ์ฑ„๋„์—์„œ์˜ ์„ฑ๊ณผ๋ฅผ ํˆฌ๋ช…ํ•˜๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•ตํด๊ณผ Appsflyer๋ฅผ ์—ฐ๋™ํ•˜๋ฉด ๋ชจ๋ฐ”์ผ ์•ฑ์˜ ์œ ์ž… ์ •๋ณด๋ฅผ ์‚ฌ์šฉ์ž ์†์„ฑ์œผ๋กœ ๋ถˆ๋Ÿฌ์™€์„œ, A/Bํ…Œ์ŠคํŠธ ํƒ€๊ฒŸํŒ…์ด๋‚˜ ์„ธ๋ถ€ ๋ถ„์„์œผ๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Appsflyer ์—ฐ๋™ํ•˜๊ธฐ

ํ•ตํด ๋Œ€์‹œ๋ณด๋“œ ์„ค์ •

  1. ์—ฐ๋™ํ•˜๊ธฐ์— ์•ž์„œ, ์„œ๋น„์Šค์— ํ•ตํด SDK์™€ Appsflyer SDK ๋ชจ๋‘ ์„ค์น˜๊ฐ€ ๋˜์–ด์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

  2. ํ•ตํด ๋Œ€์‹œ๋ณด๋“œ์˜ ์›Œํฌ์ŠคํŽ˜์ด์Šค ์„ค์ • > ์™ธ๋ถ€ ์—ฐ๋™ ํ™”๋ฉด์— ์ ‘์†ํ•ด์ฃผ์„ธ์š”. (๋งํฌ)

  3. Appsflyer๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    Appsflyer ์—ฐ๋™ ์ƒํƒœ์™€ ์—ฐ๋™์— ํ•„์š”ํ•œ API Key๋ฅผ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    ์—ฐ๋™ ์ƒํƒœ๋Š” Appsflyer์— API Key ๋“ฑ๋ก์ด ์™„๋ฃŒ๋˜๊ณ , Appsflyer๋กœ๋ถ€ํ„ฐ ํ•ตํด์— ์ด๋ฒคํŠธ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์ˆ˜์‹ ๋˜๋ฉด ์—ฐ๋™ ์™„๋ฃŒ๋กœ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค. ์ด์ œ ๋‹ค์Œ ๋‹จ๊ณ„๋Š” Appsflyer ๋Œ€์‹œ๋ณด๋“œ์—์„œ ์ง„ํ–‰ํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

Appsflyer ๋Œ€์‹œ๋ณด๋“œ ์„ค์ • - ํŒŒํŠธ๋„ˆ ์ถ”๊ฐ€

๋ฉ”๋‰ด -> ์„ค์ • -> ํŒŒํŠธ๋„ˆ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค ์ด๋™

๋ฉ”๋‰ด -> ์„ค์ • -> ํŒŒํŠธ๋„ˆ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค

ํŒŒํŠธ๋„ˆ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค ์ด๋™

ํŒŒํŠธ๋„ˆ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค ์ด๋™

ํŒŒํŠธ๋„ˆ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค ์ด๋™

ํŒŒํŠธ๋„ˆ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค์—์„œ Hackle ๊ฒ€์ƒ‰ ํ›„ Hackle ํŒŒํŠธ๋„ˆ ํด๋ฆญ

ํŒŒํŠธ๋„ˆ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค ์ด๋™

์—ฐ๋™๊ด€๋ฆฌ ์ด๋™

ํŒŒํŠธ๋„ˆ ์—ฐ๋™ ์„ค์ •

  • Hackle API Key ์„ค์ •
    ์œ„์— ํ•ตํด ๋Œ€์‹œ๋ณด๋“œ์—์„œ ๋ฐœ๊ธ‰๋œ API Key๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”.
  • Hackle ํŒŒํŠธ๋„ˆ ๊ถŒํ•œ ์„ค์ •
ํŒŒํŠธ๋„ˆ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค ์ด๋™

๋ฉ”๋‰ด -> ์„ค์ • -> ํ™œ์„ฑํ™”๋œ ์—ฐ๋™ (๊ถŒํ•œ ํƒญ)

  • ๊ธฐ๋ณธ ํฌ์ŠคํŠธ๋ฐฑ ์„ค์ •

์œ ์ € ์œ ์ž… ์†Œ์Šค๋ฅผ ์˜ค๊ฐ€๋‹‰์„ ํฌํ•จํ•œ ๋ชจ๋“  ๋ฏธ๋””์–ด ์†Œ์Šค ์„ ํƒ

ํŒŒํŠธ๋„ˆ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค ์ด๋™

์œ ์ € ์œ ์ž… ์†Œ์Šค ๋ณ€๊ฒฝ

์ด์ œ Appsflyer๋กœ๋ถ€ํ„ฐ ํ•ตํด๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ธฐ ์œ„ํ•œ ๋Œ€์‹œ๋ณด๋“œ ์„ค์ •์„ ๋งˆ์ณค์Šต๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ SDK ์—ฐ๋™์ž‘์—…์„ ํ†ตํ•ด ์ „์†ก๋œ ๋ฐ์ดํ„ฐ๋ฅผ ํ•ตํด์˜ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ์™€ ์—ฐ๊ฒฐํ•ด์„œ ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ์„ธ์š”.

SDK ์—ฐ๋™ ์ž‘์—…

Appsflyer์—์„œ ์ „์†ก๋œ ๋ฐ์ดํ„ฐ๋ฅผ ํ•ตํด์—์„œ ์ •์ƒ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” Hackle Device ID๋ฅผ Appsflyer SDK์— ๋ฐ˜๋“œ์‹œ ์ „์†กํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Appsflyer ์—ฐ๋™ํ•˜๋Š” ์ฝ”๋“œ์— ์•„๋ž˜์™€ ๊ฐ™์ด ์„ค์ •ํ•ด์ฃผ์„ธ์š”. Hackle SDK ์ดˆ๊ธฐํ™” (init)ํ•œํ›„์— ์•„๋ž˜ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ด์•ผ ์ •์ƒ์ ์œผ๋กœ Hackle Device ID๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

HackleCustomId๋Š” ๋ชจ๋“  ํฌ์ŠคํŠธ๋ฐฑ๊ณผ ํ•จ๊ป˜ ์ „์†ก๋˜๋ฉฐ, ์‚ฌ์šฉ์ž๋ฅผ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

ํฌ์ŠคํŠธ๋ฐฑ์€ ํ•ตํด์— $af_install ์ด๋ผ๋Š” ์ด๋ฒคํŠธ๋กœ ์ „์†ก๋˜๋ฉฐ, ์ด๋ถ€๋ถ„์€ ์ผ๋ฐ˜์ ์ธ ์ด๋ฒคํŠธ์™€ ๋™์ผํ•˜๊ฒŒ ๊ณผ๊ธˆ๋ฉ๋‹ˆ๋‹ค.

HashMap<String, Object> customData = new HashMap<String,Object>();

String deviceId = HackleApp.getInstance().getDeviceId();
customData.put("hackleCustomId", deviceId);

AppsFlyerLib.setAdditionalData(customData);
let deviceId = Hackle.app()!.deviceId
let customData = ["hackleCustomId": deviceId]

AppsFlyerLib.shared().customData = customData