플러그인 통합 플러그인 통합
레벨플레이 SDK를 Flutter 애플리케이션 연동하여 Android 및 iOS 플랫폼 전반에서 광고 Mediation 수익화 활성화하다, 사용 가능하다.
읽는 시간 5분최근 업데이트: 10시간 전
필수 조건
- Flutter 플러그인은 Android 및 iOS용 SDK 버전 7.2.1.2부터 지원됩니다.
- Flutter 3.0.0 이상 지원
프로젝트에 레벨플레이 Mediation 플러그인 추가
Pub.dev 통합
pub.dev 인터페이스 사용하여 프로젝트에 레벨플레이 Flutter 플러그인을 추가하는 방법에는 두 가지가 있습니다.
-
Flutter CLI 커맨드 실행flutter pub get Unity_levelplay_Mediation
-
pubspec.yaml 파일에정의를 추가하여 pubspec.yaml 파일을 업데이트합니다.
unity_levelplay_mediationdependencies: flutter: sdk: 플러터 unity_levelplay_mediation: '>=9.1.0 <9.2.0' -
Ad Quality SDK 추가
dependencies { implementation 'com.unity3d.ads-mediation:adquality-sdk:9.3.1'}
수동 연동
레벨플레이 데모 앱
연동 데모 애플리케이션 앱에 Ironsource 레벨플레이 연동하는 방법을 보여 줍니다.
iOS용 추가 설정
SKAdNetwork 지원
SDK 7 이상을 사용하는 동안 아이언소스 네트워크 광고 표시를 활성화하다, 사용 가능하다 앱 프로퍼티 리스트 파일(Info.plist)에 아이언소스 광고 네트워크 ID를 포함해야 합니다.
-
Xcode의 프로젝트 내비게이터에서 Info.plist를 선택합니다.
-
프로퍼티 목록 에디터에서 키 옆의 **Add 버튼(+)**을 선택하고 Return을 누릅니다.
-
키 이름 SKAdNetworkItems를 입력합니다.
-
다이얼로그의 Type 열에서 배열을 선택합니다.
-
딕셔너리 항목과 해당하는 단일 스팅 항목을 만듭니다.
-
키 이름 SKAdNetworkIdentifier를 입력하고 키 값을 입력합니다.su67r6k2v3.skadnetwork다음 코드를 사용하여 Info.plist에를 추가할 수도 있습니다.
SKAdNetworkIdentifier
<key>SKAdNetworkItems</key><array> <dict> <key>SKAdNetworkIdentifier</key> <string>su67r6k2v3.skadnetwork</string> </dict></array>
아이언소스 SKAdNetwork ID Manager를 사용하여 아이언소스 네트워크 및 미디에이션 네트워크 ID를 지원하는 코드 스니핏을 생성합니다.
프로퍼티 목록 편집에 대한 자세한 내용은 Xcode 기술 자료를 참조하십시오.
유니버설 SKAN 보고
광고된 앱의 모든 수요 소스에서 설치 확인 포스트백을 받으려면 앱의 Info.plist에 NSAdvertisingAttributionReportEndpoint 키를 추가하십시오.
- Xcode의 프로젝트 내비게이터에서 Info.plist를 선택합니다.
- 프로퍼티 리스트 에디터 키 옆의 Add 버튼(+)을 선택하고 Return을 누릅니다.
- 키 이름을 입력합니다NSAdvertisingAttributionReportEndpoint
- Type 열의 팝업 메뉴에서 String을 선택합니다.
- URL 입력:
https://postbacks-is.com/
앱 전송 보안 설정
모든 Mediation 네트워크에서 광고 게재에 대한 무중단 지원을 보장하기 위해 다음과 같은 변경 사항을 에 적용하는 것이 중요합니다.
info.plist- 라는 사전에 추가합니다. 이 사전을 Top Level Key에 추가해야 합니다.
NSAppTransportSecurity - 이 사전 안에 라는 부울을 추가하고 YES로 설정합니다.
NSAllowsArbitraryLoads - 이로 인해 충돌이 발생할 수 있으므로 info.plist에 외에 다른 예외가 포함되어 있지 않습니다.
NSAllowsArbitraryLoads - ATS에 대한 자세한 내용은 Apple 기술 자료를 참조하십시오.
Android용 추가 설정
플레이 서비스 종속성
다음과 같이 앱 레벨 Gradleervices 종속성을 추가합니다.
dependencies { implementation 'com.google.android.gms:play-services-ads-identifier:18.2.0' implementation 'com.google.android.gms:play-services-appset:16.1.0'}
Android 12 지원
타겟 API 레벨을 31(Android 12)으로 업데이트하는 앱 매니페스트 파일에 Google Play 서비스의 노멀 권한 다음과 같이 선언해야 합니다.
<uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
Google Advertising ID 변경에 대한 자세한 내용은 여기에서 확인하십시오.
AndroidManifest.xml에서 레이블 교체
AndroidManifest에서 레이블 관련 오류를 방지하려면 다음을 수행합니다.
- 프로젝트의 AndroidManifest.xml에 ‘xmls:tools’를 추가합니다.
- 'tools:replace='android: 레이블''을 '애플리케이션' 태그에 추가합니다.
레벨플레이 SDK 초기화
레벨플레이 SDK를 초기화하려면 다음 단계를 따르십시오.
레벨플레이 SDK 8.6.0 이상
-
초기화 성공 또는 실패에 대한 콜백을 구현합니다.
-
세션에서 초기화할 광고 형식 리스트를 정의합니다.
-
를 사용하여 init 요청을 생성합니다. 빌더는 다음 파라미터를 수신합니다.
LevelPlayInitRequest.builder- appKey(필수)
- 사용자 ID(선택 사항: 서버 간 콜백을 사용하거나 광고 품질 사용자 경로를 사용하는 경우 필수)
-
LevelPlay.init을 호출하고 컨텍스트와 init 요청을 전달합니다.
클래스 MyLevelPlayInitListener는 LevelPlayInitListener 를 구현합니다. @override void onInitFailed(LevelPlayInitError error) { // Provided when init is failed } @override void onInitSuccess(LevelPlayConfiguration configuration) { // Provided when init is successfully executed }}LevelPlayInitRequest initRequest = LevelPlayInitRequest.builder([APP_KEY]) .withUserId("userId") // required for server-to-server callbacks or Ad Quality user journey (optional otherwise) .build();LevelPlay.init(initRequest, MyLevelPlayInitListener());
LevelPlay SDK before 8.6.0
- 초기화 성공 또는 실패에 대한 콜백을 구현합니다.
- 레거시 레벨플레이 API 지원이 필요한 광고 형식 리스트를 정의합니다. 여기에는 보상형 광고 포함되어야 합니다.
- 해당하는 경우 appKey, 광고 형식 및 사용자 ID를 사용하여 레벨플레이.init API 호출합니다.
사용자를 보상하기 위해 서버 간 콜백을 사용하거나 광고 품질 사용자 여정을 사용하는 경우 초기화 API 일부로 사용자 ID를 추가합니다.
클래스 MyLevelPlayInitListener는 LevelPlayInitListener 를 구현합니다. @override void onInitFailed(LevelPlayInitError error) { // Provided when init is failed } @override void onInitSuccess(LevelPlayConfiguration configuration) { // Provided when init is successfully executed }}// Init the SDK when implementing the Multiple Ad Units Interstitial and Banner APIs, and Rewarded using legacy APIs List<AdFormat> legacyAdFormats = [AdFormat.REWARDED];LevelPlayInitRequest initRequest = LevelPlayInitRequest.builder([APP_KEY]) .withLegacyAdFormats(legacyAdFormats) .withUserId("userId") // required for server-to-server callbacks or Ad Quality user journey (optional otherwise) .build();LevelPlay.init(initRequest, MyLevelPlayInitListener());
레벨플레이 Init 리스너
- : init가 성공적으로 완료되고 광고를 로드할 수 있을 때 트리거됩니다.
onInitSuccess - : 설정 성공적으로 수신되지 않았으며 광고를 로드할 수 없습니다. 권장되는 베스트 프랙티스는 나중에 레벨플레이 SDK를 초기화하는 것입니다.
onInitFailed
다음 베스트 프랙티스를 고려하십시오.
- init API 이전에 호출된 모든 API는 변경되지 않았으며 기능과 구문 측면에서 그대로 유지되어야 했습니다. 여기에는 특정 광고 형식과 관련된 고급 설정, 규정 설정 또는 기타 API가 포함됩니다.
- 초기화에 실패하면 SDK를 다시 초기화해 볼 수 있습니다. 성공적인 초기화 프로세스가 끝나면 광고를 로드할 수 있습니다.
연동 확인
레벨플레이 통합 테스트 제품군을 사용하여 앱의 통합을 테스트하고, 플랫폼 설정을 검증하고, 설정된 네트워크와 관련된 광고를 검토할 수 있습니다.
앱에서 테스트 제품군을 활성화하다, 사용 가능하다 init를 설정하기 전에 setMetaData API 호출.
LevelPlay.setMetaData({'is_test_suite': ['enable']});
Mediation init가 완료되면 다음 메서드를 호출하여 테스트 제품군을 실행(애플리케이션 컨텍스트 필요).
LevelPlay.launchTestSuite();
레벨플레이 통합 테스트 제품군의 구현 예와 자세한 내용은 이 문서를 참조하십시오.
어댑터 디버그
Mediation 기반 네트워크 어댑터 및 SDK의 디버그 로그를 활성화하다, 사용 가능하다 다음 API 호출.
LevelPlay.setAdaptersDebug(true);
ProGuard 사용자 전용
레벨플레이 SDK와 함께 ProGuard를 사용하는 경우 ProGuard 파일(Android Studio: proguard-rules.pro 또는 Eclipse: proguard-project.txt)에 다음 코드를 추가해야 합니다.
-keepclassmembers class com.ironsource.sdk.controller.IronSourceWebView$JSInterface { public *;}-keepclassmembers 클래스 * implements android.os.Parcelable { public static final android.os.Parcelable$Creator *;}-keep public class com.google.android.gms.ads.** { public *;}-keep class com.ironsource.adapters** { *;}-keep class com.ironsource.unity.androidbridge.** { *;}-dontwarn com. 아이언소스.mediationsdk.**-dontwarn com.ironsource.adapters**-keepattributes JavascriptInterface-keepclassmembers 클래스 * { @android.webkit.JavascriptInterface <methods>;}
다음 단계
- 연동 가이드를 따라 광고 형식을 구현합니다.
- 앱에 보상형 비디오, 인터스티셜 광고 또는 배너 광고를 통합하고 Mediation 기사를 따르십시오.
- 통합 테스트 제품군과의 통합 여부 확인