수동 초기화
정보
NAM SDK 4.0.0 버전부터 ContentProvider 를 사용한 자동 초기화를 지원합니다. 별다른 설정 없이 manifest 에 설정한 필수값인 PublisherCode 또는 선택값인 ServiceCode 값을 통해 자동으로 초기화 합니다.
NAM SDK 는 별도로 구현된 ContentProvider 를 통해 자동으로 초기화 처리됩니다. 하지만 앱의 특정 상황에 따라 초기화 시점을 제어해야 하는 경우를 위해 수동 초기화 기능을 제공합니다.
자동 초기화 비활성화
NAM SDK 를 수동으로 초기화하려면 앱의 AndroidManifest.xml 파일에 <meta-data> 태그를 추가하여 자동 초기화 옵션을 비활성화해야 합니다.
AndroidManifest.xml
<meta-data
android:name="com.naver.gfpsdk.AUTO_INIT"
android:value="false" />
수동 초기화 호출
자동 초기화 옵션을 비활성화. 즉, 수동 초기화 옵션을 활성화한 경우, 가능한 빨리 NAM SDK 의 초기화 메서드를 호출해야 합니다. 일반적으로 앱 시작 시점에 해당되는 Application.onCreate() 또는 광고를 포함하는 Activity 들의 Activity.onCreate() 생명주기 내에서 초기화 메서드를 호출하는 것이 좋습니다.
- Kotlin
- Java
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// ...
if (!GfpSdk.isInitialized()) {
GfpSdk.initialize(applicationContext,
object: GfpSdk.InitializationCallback {
override fun onInitializationComplete(initializationResult: GfpSdk.InitializationResult) {
// 성공 여부: initializationResult.success
// (참고용) 성공/실패시 내부 메시지: initializationResult.message
}
})
}
}
}
public class MainActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
if (!GfpSdk.isInitialized()) {
GfpSdk.initialize(getApplicationContext(),
new GfpSdk.InitializationCallback() {
@Override
public void onInitializationComplete(@NonNull GfpSdk.InitializationResult initializationResult) {
// 성공 여부: initializationResult.getSuccess()
// (참고용) 성공/실패시 내부 메시지: initializationResult.getMessage()
}
});
}
}
}
정보
광고 요청 전에 수동 초기화 메서드를 호출했을 때, 초기화 응답 콜백에서 실패를 수신해도 광고를 요청하는데 문제가 발생하지는 않습니다. 하지만 효과적인 광고 요청을 위해 정확한 초기화가 진행되는 것을 추천합니다.