// Copies `AndroidManifestTemplate.xml` to `AndroidManifest.xml`
    //   then replace `${manifestApplicationId}` with current packagename in the Unity settings.
    internal static void createOneSignalAndroidManifest()
    {
        var    oneSignalConfigPath = OneSignalFileLocator.GetOneSignalConfigFolderNameWithPath() + "/";
        string manifestFullPath    = oneSignalConfigPath + "AndroidManifest.xml";

        File.Copy(oneSignalConfigPath + "AndroidManifestTemplate.xml", manifestFullPath, true);

        StreamReader streamReader = new StreamReader(manifestFullPath);
        string       body         = streamReader.ReadToEnd();

        streamReader.Close();

      #if UNITY_5_6_OR_NEWER
        body = body.Replace("${manifestApplicationId}", PlayerSettings.applicationIdentifier);
      #else
        body = body.Replace("${manifestApplicationId}", PlayerSettings.bundleIdentifier);
      #endif
        using (var streamWriter = new StreamWriter(manifestFullPath, false)) {
            streamWriter.Write(body);
        }
    }
Ejemplo n.º 2
0
    // This renames the folder "OneSignalConfig" to "OneSignal.plugin".
    // ".plugin" is Unity documented folder post-fix required for some plugins features.
    //    - This is required to fix Unity 2020+ capability.
    // This is done via a script since .unitypackage files do not support renaming
    // and so this is required for those upgrading from an older version of the SDK.
    private static void RenameAndroidOneSignalConfig()
    {
        var path = OneSignalFileLocator.GetOneSignalConfigFolderNameWithPath();

        OSUnityEditorUtils.AppendFileExtensionIfMissing(path, "plugin");
    }