-
Notifications
You must be signed in to change notification settings - Fork 0
웹앱 관련
jinsang edited this page Aug 29, 2023
·
2 revisions
- Webview를 이용해 ACE WEB SDK와 연동하기 위해서는 AAID(The Android Advertising ID)/IDFA(The Identifier for Advertisers)가 필요합니다.
- 아래 예제에서 AAID/IDFA를 얻기 위해 @sparkfabrik/react-native-idfa-aaid 를 사용했습니다.
- ACE WEB SDK 초기화에 필요한 몇가지 정보들은 SDK가 제공하는 API를 사용해 얻을 수 있습니다.
- 다음은 네이티브 코드에서 필요한 정보를 SDK로 얻어 ACE WEB SDK 를 초기화하는 예제입니다.
import ReactNativeIdfaAaid, {
AdvertisingInfoResponse,
} from '@sparkfabrik/react-native-idfa-aaid'
import { ACS } from 'acecounter.sdk.react-native'
type WebViewProps = {
uri: string
method?: string
}
export default function WebviewForAPI() {
const defaultWebviewURL = useMemo(() => {
return { uri: 'https://www.acecounter.com', method: 'get' }
}, [])
const [url, setUrl] = useState<WebViewProps>(defaultWebviewURL)
const [isAdTrackingEnabled, setIsAdTrackingEnabled] = useState<boolean>(false)
const [idfa, setIdfa] = useState<string | null>()
const refForWebview = useRef<WebView | null>(null)
useEffect(() => {
ReactNativeIdfaAaid.getAdvertisingInfo()
.then((res: AdvertisingInfoResponse) => {
setIsAdTrackingEnabled(!res.isAdTrackingLimited)
return !res.isAdTrackingLimited ? setIdfa(res.id) : setIdfa(null)
})
.catch((err) => {
console.log(err)
setIsAdTrackingEnabled(false)
return setIdfa(null)
})
}, [])
const injectionJavascriptToWebview = useCallback(() => {
refForWebview.current?.injectJavaScript(
`_AceAPP('${ACS.getKey()}', '${ACS.getDevice()}', '${ACS.getTS()}', '${idfa}', ${isAdTrackingEnabled});`
)
}, [idfa])
return (
<SafeAreaView>
<View>
<View>
<TouchableView notification onPress={injectionJavascriptToWebview}>
<Text>Injection javascript to webview</Text>
</TouchableView>
</View>
<WebView ref={refForWebview} originWhitelist={['*']} source={url} />
</View>
</SafeAreaView>
)
}
-
_AceAPP
자바스크립트 함수에 대한 상세한 설명은 WEB SDK 가이드를 참조하세요. -
광고 식별자 또는 앱 추적이 비활성화/제한 되더라도 로그 수집에 영향은 없습니다.
- 사용자 거부시 광고 식별자에 대해
00000000-0000-0000-0000-000000000000
으로 대체 됩니다.
- 사용자 거부시 광고 식별자에 대해
- 사용하시는 오픈소스 도구의 광고 추적 허용 여부 API 문서 확인바랍니다.
- 활성화 true/false 또는 제한 true/false 와 같이 알려줄 수도 있습니다.
-
_AceAPP
의 파라미터isAdTrackingEnabled
는 광고 추적 허용 true/false 입니다.
- 웹뷰에서 사용하는
도메인 주소
를서비스 정보수정으로 추가하셔야합니다.
- 에이스카운터 통계 화면 > 서비스관리(오른쪽 상단) > 서비스정보수정 > 웹뷰에서 접속할 도메인주소를 애플리케이션 ID에 추가
- http, https 를 뺀 도메인 주소만 입력합니다.
- 예시
www.acecounter.com
vklog.loginside.co.kr
- 예시
- 도메인 주소가 여러개인경우 공백 없이
,
로 구분해 추가합니다.- 예시
www.acecounter.com,vklog.loginside.co.kr
- 예시
- 에이스카운터 WEB SDK 가 해당 웹사이트에 설치가 되어 있어야만 합니다.
- SDK 초기화시 사용자가 입력한 GCODE
public static getKey(): string;
- 단말기 명
public static getDevice(): string;
- SDK 내부 설정값
public static getTS(): string;