728x90
반응형
사전 준비물
- 페이스북 개발자 계정
developers.facebook.com/docs/sharing/android
compile 'com.facebook.android:facebook-share:[5,6)'
1. Open your /app/res/values/strings.xml file.
2. Add a string element with the name attribute facebook_app_id and value as your Facebook App ID to the file. For example
<string name="facebook_app_id">Facebook App ID</string>
3. Open /app/manifests/AndroidManifest.xml
4. Add a uses-permission element to the manifest:
<uses-permission android:name="android.permission.INTERNET"/>
5. Add a meta-data element to the application element:
<application android:label="@string/app_name" ...>
...
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
...
</application>
<provider android:authorities="com.facebook.app.FacebookContentProvider앱아이디"
android:name="com.facebook.FacebookContentProvider"
android:exported="true" />
* 키해시 - 페이스북 디벨로퍼에서 앱을 추가하고 키해시를 등록해줘야한다.
// Add code to print out the key hash
try {
PackageInfo info = getPackageManager().getPackageInfo(
"com.facebook.samples.hellofacebook",
PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
content 만들기
1) 이미지
Bitmap image = ...
SharePhoto photo = new SharePhoto.Builder()
.setBitmap(image)
.build();
SharePhotoContent content = new SharePhotoContent.Builder()
.addPhoto(photo)
.build();
2) 동영상
Uri videoFileUri = ...
ShareVideo = new ShareVideo.Builder()
.setLocalUrl(videoUrl)
.build();
ShareVideoContent content = new ShareVideoContent.Builder()
.setVideo(video)
.build();
3) 멀티미디어
공유 대화 상자를 사용하여 앱에 있는 사진과 동영상을 포함하는 콘텐츠를 Facebook에 공유할 수 있습니다. 유의 사항은 다음과 같습니다.
-
Android용 기본 Facebook 앱 7.1 이상 버전이 설치되어 있어야 합니다.
-
한 번에 최대 6개의 사진과 동영상을 공유할 수 있습니다.
SharePhoto sharePhoto1 = new SharePhoto.Builder()
.setBitmap(...)
.build();
SharePhoto sharePhoto2 = new SharePhoto.Builder()
.setBitmap(...)
.build();
ShareVideo shareVideo1 = new ShareVideo.Builder()
.setLocalUrl(...)
.build();
ShareVideo shareVideo2 = new ShareVideo.Builder()
.setLocalUrl(...)
.build();
ShareContent shareContent = new ShareMediaContent.Builder()
.addMedium(sharePhoto1)
.addMedium(sharePhoto2)
.addMedium(shareVideo1)
.addMedium(shareVideo2)
.build();
공유하기
ShareDialog.show(activityOrFragment, content);
MessageDialog.show(activityOrFragment, content);
728x90
반응형
'Android' 카테고리의 다른 글
Android SNS공유 ( 트위터) (0) | 2021.01.19 |
---|---|
Android AAR 만들기 ( 라이브러리 만들기 ) (0) | 2021.01.19 |
Android 공유하기 - 네이버 관련 (0) | 2021.01.14 |
Android kakao link (카카오 링크) 코드 (0) | 2021.01.13 |
키해시 구하기 (1) | 2021.01.12 |