[A] facebook share

This commit is contained in:
2025-01-17 16:15:48 +08:00
parent 90e54158f1
commit c576351bca
11 changed files with 609 additions and 19 deletions

View File

@@ -28,4 +28,8 @@
<meta-data android:name="unityplayer.UnityActivity" android:value="true" /> <meta-data android:name="unityplayer.UnityActivity" android:value="true" />
</activity> </activity>
</application> </application>
<queries>
<provider android:authorities="com.facebook.katana.provider.PlatformProvider" /> <!-- allows app to access Facebook app features -->
<provider android:authorities="com.facebook.orca.provider.PlatformProvider" /> <!-- allows sharing to Messenger app -->
</queries>
</manifest> </manifest>

View File

@@ -1165,6 +1165,85 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 571824850} m_GameObject: {fileID: 571824850}
m_CullTransparentMesh: 1 m_CullTransparentMesh: 1
--- !u!1 &686445508
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 686445509}
- component: {fileID: 686445511}
- component: {fileID: 686445510}
m_Layer: 5
m_Name: Text (Legacy)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &686445509
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 686445508}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1240291498}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &686445510
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 686445508}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 33
m_FontStyle: 0
m_BestFit: 1
m_MinSize: 10
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 0
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: MFBShare
--- !u!222 &686445511
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 686445508}
m_CullTransparentMesh: 1
--- !u!1 &698899139 --- !u!1 &698899139
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -1444,6 +1523,127 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 816526477} m_GameObject: {fileID: 816526477}
m_CullTransparentMesh: 1 m_CullTransparentMesh: 1
--- !u!1 &827533341
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 827533342}
- component: {fileID: 827533344}
- component: {fileID: 827533343}
- component: {fileID: 827533345}
m_Layer: 5
m_Name: FBShare
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &827533342
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 827533341}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 2021267040}
m_Father: {fileID: 1044920373}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 1}
--- !u!114 &827533343
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 827533341}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &827533344
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 827533341}
m_CullTransparentMesh: 1
--- !u!114 &827533345
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 827533341}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 827533343}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!1 &834002868 --- !u!1 &834002868
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -2091,6 +2291,8 @@ RectTransform:
- {fileID: 1574191670} - {fileID: 1574191670}
- {fileID: 1064161794} - {fileID: 1064161794}
- {fileID: 1686948820} - {fileID: 1686948820}
- {fileID: 827533342}
- {fileID: 1240291498}
m_Father: {fileID: 1451597222} m_Father: {fileID: 1451597222}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0} m_AnchorMin: {x: 0, y: 0}
@@ -2764,6 +2966,127 @@ MonoBehaviour:
m_OnClick: m_OnClick:
m_PersistentCalls: m_PersistentCalls:
m_Calls: [] m_Calls: []
--- !u!1 &1240291497
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1240291498}
- component: {fileID: 1240291500}
- component: {fileID: 1240291499}
- component: {fileID: 1240291501}
m_Layer: 5
m_Name: MFBShare
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1240291498
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1240291497}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 686445509}
m_Father: {fileID: 1044920373}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 1}
--- !u!114 &1240291499
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1240291497}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &1240291500
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1240291497}
m_CullTransparentMesh: 1
--- !u!114 &1240291501
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1240291497}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 1240291499}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!1 &1304993148 --- !u!1 &1304993148
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -3835,6 +4158,8 @@ MonoBehaviour:
_gaAppMaxBtn: {fileID: 1574191671} _gaAppMaxBtn: {fileID: 1574191671}
_ATTBtn: {fileID: 1064161797} _ATTBtn: {fileID: 1064161797}
_signoutBtn: {fileID: 1686948823} _signoutBtn: {fileID: 1686948823}
_fbShareLinkBtn: {fileID: 827533345}
_mfbShareLinkBtn: {fileID: 1240291501}
_messageTxt: {fileID: 2070325010} _messageTxt: {fileID: 2070325010}
--- !u!4 &1788702880 --- !u!4 &1788702880
Transform: Transform:
@@ -4172,6 +4497,85 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1956900234} m_GameObject: {fileID: 1956900234}
m_CullTransparentMesh: 1 m_CullTransparentMesh: 1
--- !u!1 &2021267039
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2021267040}
- component: {fileID: 2021267042}
- component: {fileID: 2021267041}
m_Layer: 5
m_Name: Text (Legacy)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2021267040
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2021267039}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 827533342}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &2021267041
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2021267039}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 33
m_FontStyle: 0
m_BestFit: 1
m_MinSize: 10
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 0
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: FBShare
--- !u!222 &2021267042
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2021267039}
m_CullTransparentMesh: 1
--- !u!1 &2070325008 --- !u!1 &2070325008
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@@ -46,6 +46,10 @@ public class SDKTest : MonoBehaviour
[SerializeField] [SerializeField]
private Button _signoutBtn; private Button _signoutBtn;
[SerializeField] [SerializeField]
private Button _fbShareLinkBtn;
[SerializeField]
private Button _mfbShareLinkBtn;
[SerializeField]
private Text _messageTxt; private Text _messageTxt;
void Start() void Start()
@@ -58,8 +62,8 @@ public class SDKTest : MonoBehaviour
Debug.Log("SDKTest Start"); Debug.Log("SDKTest Start");
//=============================================================================== //===============================================================================
//====================== Test Server =========================== //====================== Test Server ===========================
UnityBridgeFunc.UnityResetServerUrl("https://128-hwsfsdk-sdk-test01.qijihdhk.com"); //UnityBridgeFunc.UnityResetServerUrl("https://128-hwsfsdk-sdk-test01.qijihdhk.com");
config.Set("AGG_SERVER", "https://128-hwsfsdk-sdk-test01.qijihdhk.com"); //config.Set("AGG_SERVER", "https://128-hwsfsdk-sdk-test01.qijihdhk.com");
//====================== Test Server =========================== //====================== Test Server ===========================
//=============================================================================== //===============================================================================
// //
@@ -83,6 +87,8 @@ public class SDKTest : MonoBehaviour
_gaAppMaxBtn.onClick.AddListener(OnAppMaxBtn); _gaAppMaxBtn.onClick.AddListener(OnAppMaxBtn);
_ATTBtn.onClick.AddListener(OnATTBtn); _ATTBtn.onClick.AddListener(OnATTBtn);
_signoutBtn.onClick.AddListener(OnSignoutBtn); _signoutBtn.onClick.AddListener(OnSignoutBtn);
_fbShareLinkBtn.onClick.AddListener(OnFBShareLinkBtn);
_mfbShareLinkBtn.onClick.AddListener(OnMessengerShareLinkBtn);
Debug.Log("SDKTest Started"); Debug.Log("SDKTest Started");
} }
@@ -344,6 +350,16 @@ eb68f93a08156e04
TYSdkFacade.Instance.Signout(); TYSdkFacade.Instance.Signout();
} }
private void OnFBShareLinkBtn()
{
UnityBridgeFunc.FBShareLink("title", "content", "https://www.baidu.com");
}
private void OnMessengerShareLinkBtn()
{
UnityBridgeFunc.MessengerShareLink("title", "content", "https://www.baidu.com");
}
/* /*
public void OnTaBtn() public void OnTaBtn()
{ {

View File

@@ -71,7 +71,7 @@ namespace tysdk.editor
proj.AddCapability(target, PBXCapabilityType.SignInWithApple, "Unity-iPhone/Unity-iPhone.entitlements"); proj.AddCapability(target, PBXCapabilityType.SignInWithApple, "Unity-iPhone/Unity-iPhone.entitlements");
proj.AddCapability(target, PBXCapabilityType.KeychainSharing, "Unity-iPhone/Unity-iPhone.entitlements"); proj.AddCapability(target, PBXCapabilityType.KeychainSharing, "Unity-iPhone/Unity-iPhone.entitlements");
proj.AddCapability(target, PBXCapabilityType.PushNotifications, "Unity-iPhone/Unity-iPhone.entitlements"); proj.AddCapability(target, PBXCapabilityType.PushNotifications, "Unity-iPhone/Unity-iPhone.entitlements");
//proj.AddCapability(target, PBXCapabilityType.AssociatedDomains, "Unity-iPhone/Unity-iPhone.entitlements"); proj.AddCapability(target, PBXCapabilityType.AssociatedDomains, "Unity-iPhone/Unity-iPhone.entitlements");
} }
private static void ProcessBuildSettings(PBXProject proj) private static void ProcessBuildSettings(PBXProject proj)

View File

@@ -2,12 +2,16 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>aps-environment</key> <key>aps-environment</key>
<string>development</string> <string>development</string>
<key>com.apple.developer.applesignin</key> <key>com.apple.developer.applesignin</key>
<array> <array>
<string>Default</string> <string>Default</string>
</array> </array>
<key>com.apple.developer.associated-domains</key>
<array>
<string>applinks:fishingtraveliae.onelink.me</string>
</array>
<key>com.apple.developer.usernotifications.communication</key> <key>com.apple.developer.usernotifications.communication</key>
<true/> <true/>
<key>keychain-access-groups</key> <key>keychain-access-groups</key>

View File

@@ -2,6 +2,7 @@
package com.unity3d.player; package com.unity3d.player;
import android.app.Activity; import android.app.Activity;
import android.net.Uri;
import android.os.Handler; import android.os.Handler;
import android.os.Looper; import android.os.Looper;
import android.text.TextUtils; import android.text.TextUtils;
@@ -13,6 +14,9 @@ import com.barton.log.builder.ParamsBuilder;
import com.barton.log.ebarton.BaseUrl; import com.barton.log.ebarton.BaseUrl;
import com.barton.log.ebarton.EventType; import com.barton.log.ebarton.EventType;
import com.barton.log.logapi.IGASDK; import com.barton.log.logapi.IGASDK;
import com.facebook.share.model.ShareLinkContent;
import com.facebook.share.widget.MessageDialog;
import com.facebook.share.widget.ShareDialog;
import com.google.android.gms.tasks.Task; import com.google.android.gms.tasks.Task;
import com.google.android.play.core.review.ReviewException; import com.google.android.play.core.review.ReviewException;
import com.google.android.play.core.review.ReviewInfo; import com.google.android.play.core.review.ReviewInfo;
@@ -38,6 +42,7 @@ import org.json.JSONObject;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
public class SDKManager { public class SDKManager {
private final static Handler handler = new Handler(Looper.getMainLooper()); private final static Handler handler = new Handler(Looper.getMainLooper());
@@ -390,6 +395,42 @@ public class SDKManager {
}); });
} }
public static void FBShareLink(String title, String content, String url)
{
Log.e(TAG,"FBShareLink : " + title + " " + content + " " + url);
if (ShareDialog.canShow(ShareLinkContent.class)) {
Activity activity = UnityPlayer.currentActivity;
ShareDialog dialog = new ShareDialog(activity);
ShareLinkContent linkContent = new ShareLinkContent.Builder()
.setQuote(content)
.setContentUrl(Uri.parse("http://developers.facebook.com/android"))
.build();
dialog.show(linkContent);
}
else
{
Log.e(TAG, "FBShareDialog can not show");
}
}
public static void MessengerShareLink(String title, String content, String url)
{
Log.e(TAG,"MessengerShareLink : " + title + " " + content + " " + url);
if (MessageDialog.canShow(ShareLinkContent.class)) {
Activity activity = UnityPlayer.currentActivity;
ShareLinkContent linkContent = new ShareLinkContent.Builder()
.setQuote(content)
.setContentUrl(Uri.parse("http://developers.facebook.com/android"))
.build();
MessageDialog.show(activity,linkContent);
}
else
{
Log.e(TAG, "Messenger ShareDialog can not show");
}
}
} }

View File

@@ -0,0 +1,88 @@
import Foundation
import FBSDKShareKit
import Pods_UnityFramework
@objc public class FBShareHelper : NSObject{
@objc public func FBShare(title: String, content:String, link : String){
guard let url = URL(string: link) else
{
NSLog("url faild")
return
}
let vc = UnityFramework.getInstance().appController().rootViewController
let c = ShareLinkContent()
c.quote = content
c.contentURL = url
let dialog = ShareDialog(
viewController: vc,
content: c,
delegate: FBShareHelperDelegate()
)
NSLog("show fb share dialog")
// Recommended to validate before trying to display the dialog
do {
try dialog.validate()
} catch {
print("fbshare faild ! \(error)")
}
dialog.show()
}
@objc public func MFBShare(title: String, content:String, link : String){
guard let url = URL(string: link) else
{
NSLog("url faild")
return
}
let c = ShareLinkContent()
c.quote = content
c.contentURL = url
let dialog = MessageDialog(content: c, delegate: FBShareHelperDelegate())
do {
try dialog.validate()
} catch {
print("messenger share faild ! \(error)")
}
if(dialog.canShow)
{
dialog.show();
}
else
{
print("messenger share faild !")
}
}
}
class FBShareHelperDelegate: SharingDelegate
{
public func sharer(_ sharer: any FBSDKShareKit.Sharing, didCompleteWithResults results: [String : Any]) {
print("Share success \(results)")
SendToUnity(success: true)
}
public func sharer(_ sharer: any FBSDKShareKit.Sharing, didFailWithError error: any Error) {
print("Share error \(error)")
SendToUnity(success: false)
}
public func sharerDidCancel(_ sharer: any FBSDKShareKit.Sharing) {
print("Share cancel")
SendToUnity(success: false)
}
private func SendToUnity(success:Bool)
{
let message = success ? "0" : "1"
UnityFramework.getInstance().sendMessageToGO(withName: "GameObje", functionName: "Func", message: message)
}
}

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 74efa0262dac947a2a445362dc59c406 guid: a4af00d7aeb9247deaac729b3df35036
PluginImporter: PluginImporter:
externalObjects: {} externalObjects: {}
serializedVersion: 2 serializedVersion: 2

View File

@@ -1,13 +0,0 @@
//
// Hint.swift
// UnityFramework
//
// Created by bamboo tech on 2024/8/2.
//
import Foundation
struct SillyHint
{
var text = "Add This File for Complie, Do not delete";
}

View File

@@ -4,6 +4,7 @@
#import <GASDK/GAConstants.h> #import <GASDK/GAConstants.h>
#import <GASDK/GASDK.h> #import <GASDK/GASDK.h>
#import "TYConfig.h" #import "TYConfig.h"
#import "UnityFramework/UnityFramework-Swift.h"
#define TOKEN_ERROR @"-8" #define TOKEN_ERROR @"-8"
extern "C" { extern "C" {
@@ -351,5 +352,25 @@ extern "C" {
} }
void FBShareLink(const char* title, const char* content, const char* url)
{
NSLog(@"TYSdkInterface FBShareLink");
NSString *t = [[NSString alloc] initWithCString: title encoding:NSUTF8StringEncoding];
NSString *c = [[NSString alloc] initWithCString: content encoding:NSUTF8StringEncoding];
NSString *l = [[NSString alloc] initWithCString: url encoding:NSUTF8StringEncoding];
FBShareHelper *helper = [[FBShareHelper alloc] init];
[helper FBShareWithTitle:t content:c link:l];
}
void MessengerShareLink(const char* title, const char* content, const char* url)
{
NSLog(@"TYSdkInterface FBShareLink");
NSString *t = [[NSString alloc] initWithCString: title encoding:NSUTF8StringEncoding];
NSString *c = [[NSString alloc] initWithCString: content encoding:NSUTF8StringEncoding];
NSString *l = [[NSString alloc] initWithCString: url encoding:NSUTF8StringEncoding];
FBShareHelper *helper = [[FBShareHelper alloc] init];
[helper MFBShareWithTitle:t content:c link:l];
}
} }

View File

@@ -52,6 +52,9 @@ namespace tysdk
public static void Review() { } public static void Review() { }
public static void FBShareLink(string title, string content, string url) { }
public static void MessengerShareLink(string title, string content, string url) { }
#elif UNITY_ANDROID #elif UNITY_ANDROID
private static string SDK_CLASS = "com.unity3d.player.SDKManager"; private static string SDK_CLASS = "com.unity3d.player.SDKManager";
@@ -205,6 +208,21 @@ namespace tysdk
} }
} }
public static void FBShareLink(string title, string content, string url)
{
using(var sdkManager = new AndroidJavaClass(SDK_CLASS))
{
sdkManager.CallStatic("FBShareLink", title, content, url);
}
}
public static void MessengerShareLink(string title, string content, string url)
{
using(var sdkManager = new AndroidJavaClass(SDK_CLASS))
{
sdkManager.CallStatic("MessengerShareLink", title, content, url);
}
}
#elif UNITY_IOS #elif UNITY_IOS
@@ -367,6 +385,13 @@ namespace tysdk
[DllImport("__Internal")] [DllImport("__Internal")]
public static extern int GetATT(); public static extern int GetATT();
[DllImport("__Internal")]
public static extern void FBShareLink(string title, string content, string url);
[DllImport("__Internal")]
public static extern void MessengerShareLink(string title, string content, string url);
#endif #endif
} }
} }