반응형
youtube android api서비스가 2023년 3월 1일 부터 종료여서 iframe으로 전환해야한다.
이런 당황스런 공지를 접하고 내 모든 어플을 싹다 바꿔야만 했다.
1) framelayout
다음을 바꿔야한다.
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="3dp"
android:id="@+id/frame_youtube"
>
<WebView
android:id="@+id/web_youtube"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="true"
android:focusable="true"
android:focusableInTouchMode="true"
/>
</FrameLayout>
2) 프로그램 부분
youtubesupportfragment = YouTubePlayerSupportFragment.newInstance();
FragmentTransaction fragmentTransaction = fm.beginTransaction();
fragmentTransaction.replace(R.id.frame_youtube, youtubesupportfragment);
fragmentTransaction.commit();
String finalYoutubeStr = youtubeStr;
youtube_listener = new YouTubePlayer.OnInitializedListener() {
@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
youTubePlayer.loadVideo(finalYoutubeStr);
}
@Override
public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
Log.d("YOUTUBE_FAILURE", youTubeInitializationResult.toString());
}
};
youtubesupportfragment.initialize(String.valueOf(R.string.youtube_code), youtube_listener);
위의 Youtbue API 사용했던 부분을 싹다 없애고 다음과 같이 바꿔줘야 한다.
my_web_youtube = (WebView) mainAct.findViewById(R.id.web_youtube);
my_web_youtube.getSettings().setJavaScriptEnabled(true);
my_web_youtube.setWebChromeClient(new WebChromeClient(){
View fullscreen = null;
@Override
public void onHideCustomView()
{
fullscreen.setVisibility(View.GONE);
my_web_youtube.setVisibility(View.VISIBLE);
}
@Override
public void onShowCustomView(View view, CustomViewCallback callback)
{
my_web_youtube.setVisibility(View.GONE);
if(fullscreen != null)
{
((FrameLayout)mainAct.getWindow().getDecorView()).removeView(fullscreen);
}
fullscreen = view;
((FrameLayout)mainAct.getWindow().getDecorView()).addView(fullscreen, new FrameLayout.LayoutParams(-1, -1));
fullscreen.setVisibility(View.VISIBLE);
}
});
my_web_youtube.setWebViewClient(new WebViewClient());
if(my_web_youtube != null) {
my_web_youtube.loadUrl("IFRAME을 사용할 웹페이지"+youtubeStr);
}
반응형
'PHP' 카테고리의 다른 글
문서편집기와 PHP에서 정규식 변환하기 (대괄호, 중괄호, 소괄호 포함된 문자열 없애기) (0) | 2023.08.16 |
---|---|
[admob, 안드로이드] 특정 확률로 "전면광고" 나오게끔 구현하기 (0) | 2023.08.04 |
[보상형 광고] com.google.android.gms:play-services-ads 업그레이드 되면서 RewardAd메소드 바꿔주기 (0) | 2023.07.24 |
Android Studio - unable to find valid certification path to requested target 해결방법 (0) | 2023.07.23 |
httpd-ssl.conf에서 htaccess등 rewriterule인식하게끔 만들기 (AllowOveride 추가) (0) | 2023.07.17 |