/// <summary>
        /// Shows a dialog on the connected Band device.
        /// </summary>
        /// <param name="tileId">The tile identifier.</param>
        /// <param name="title">The message title.</param>
        /// <param name="body">The message body.</param>
        public async Task ShowDialogAsync(Guid tileId, string title, string body)
        {
#if __ANDROID__ || __IOS__
            await Native.ShowDialogTaskAsync(tileId.ToNative(), title, body);
#elif WINDOWS_PHONE_APP
            await Native.ShowDialogAsync(tileId.ToNative(), title, body);
#endif
        }
        /// <summary>
        /// Sends a message to a specific tile to the connected Band device with the provided tile ID, title, body, 
        /// timestamp and with message flags to control how the message is provided.
        /// </summary>
        /// <param name="tileId">The tile identifier.</param>
        /// <param name="title">The message title.</param>
        /// <param name="body">The message body.</param>
        /// <param name="timestamp">The message timestamp.</param>
        /// <param name="messageFlags">The message flags to control how the message is provided to the Band device.</param>
        public async Task SendMessageAsync(Guid tileId, string title, string body, DateTime timestamp, MessageFlags messageFlags)
        {
#if __ANDROID__ || __IOS__
            await Native.SendMessageTaskAsync(tileId.ToNative(), title, body, timestamp, messageFlags.ToNative());
#elif WINDOWS_PHONE_APP
            await Native.SendMessageAsync(tileId.ToNative(), title, body, timestamp, messageFlags.ToNative());
#endif
        }
        public async Task SetTilePageDataAsync(Guid tileId, IEnumerable<PageData> pageData)
        {
#if __ANDROID__
            await Native.SetPagesTaskAsync(tileId.ToNative(), pageData.Select(pd => pd.ToNative()).ToArray());
#elif __IOS__
            await Native.SetPagesTaskAsync(pageData.Select(pd => pd.ToNative()).ToArray(), tileId.ToNative());
#elif WINDOWS_PHONE_APP
            await Native.SetPagesAsync(tileId.ToNative(), pageData.Select(pd => pd.ToNative()).ToArray());
#endif
        }
        public async Task RemoveTilePagesAsync(Guid tileId)
        {
#if __ANDROID__ || __IOS__
            await Native.RemovePagesTaskAsync(tileId.ToNative());
#elif WINDOWS_PHONE_APP
            await Native.RemovePagesAsync(tileId.ToNative());
#endif
        }