我们正在使用Facebook SDK for Unity(v6.0),我现在想知道是否可以检查设备上是否安装了Facebook应用程序。
原因是Facebook SDK中存在一个错误(请参阅此处:bug)
我想确定这种情况(仅在安装FB应用程序时发生),并做出相应的反应。
答案 0 :(得分:1)
"为了使用本机插件,首先需要编写函数 在基于C语言中访问您需要的任何功能并进行编译 他们进了图书馆。在Unity中,您还需要创建一个C# 调用本机库中函数的脚本。" 来自http://docs.unity3d.com/Manual/NativePlugins.html
因此,基本上你需要在Objective-C中编写代码并提供Unity和Native Code之间的通信。
您需要实施的用于检查Facebook APP的代码是:
(void) checkFacebookApp
{
if ([[UIApplication sharedApplication] canOpenURL:[NSURLURLWithString:@"fb://"]])
{
return true;
}
}
但是,您需要在Unity和Xcode项目之间进行一些通信。所以;
class SomeScript : MonoBehaviour {
#if UNITY_IPHONE || UNITY_XBOX360
// On iOS and Xbox 360 plugins are statically linked into
// the executable, so we have to use __Internal as the
// library name.
[DllImport ("__Internal")]
#else
// Other platforms load plugins dynamically, so pass the name
// of the plugin's dynamic library.
[DllImport ("PluginName")]
#endif
private static extern float checkFacebookApp ();
void Awake () {
// Calls the FooPluginFunction inside the plugin
// And prints 5 to the console
bool check = checkFacebookApp ();
}
}