MXCzkEVM / datadash-wallet

Other
0 stars 2 forks source link

BlueberryRing notification (Dapp Hooks section) #259

Open reasje opened 1 month ago

reasje commented 1 month ago

Activity Reminder: "You've been inactive for a while. A short walk could be really invigorating!" Sleep Insight: "You've been getting less deep sleep than usual. Try unwinding 30 minutes earlier tonight for better rest." Health Alert: "Your heart rate has been unusually high today. If you feel unwell, it might be good to check in with a doctor." Low Battery: "Your Blueberry Ring's battery is low. Please charge soon to avoid data gaps."

  1. Personalize Notifications Use the data collected by the ring to tailor notifications to individual user habits and preferences. Machine learning models can predict the best times to send notifications or suggest specific actions.

  2. Implement Quiet Times Allow users to set periods during which they do not wish to receive notifications, ensuring that the ring does not disturb them during crucial times like meetings or sleep.

  3. Feedback Mechanism Incorporate a way for users to provide feedback on notification relevance and frequency. Use this feedback to refine and improve the notification system.

  4. Compliance and Privacy Ensure that all notifications comply with privacy laws and regulations, especially when dealing with health data. Clearly communicate to users how their data is being used.

  5. Testing and Iteration Before full deployment, test the notification system with a small group of users. Gather feedback and make necessary adjustments. Continuous iteration based on user feedback and engagement metrics will be key.

  6. Integration with Other Apps and Services Consider integrating with popular health and fitness apps to enrich the data and insights provided to users, possibly offering more comprehensive health advice or personalized fitness plans.

By following these steps, you can design a notification system for the Blueberry Ring that not only engages users but also adds significant value to their daily health and wellness routines.

You requested another response from @Claude-3-Opus Bot image for Claude-3-Opus Claude-3-Opus

Poe Yes, I am familiar with the Oura Ring. It is a smart ring that tracks various health metrics such as sleep, activity, and heart rate. Regarding your Blueberry Ring, here are some suggestions for notifications to improve app engagement:

Daily activity summary: Send a daily notification summarizing the user's activity, including steps taken, calories burned, and active minutes. Sleep insights: Provide a morning notification with a sleep score and insights on how to improve sleep quality based on the user's sleep data. Inactivity alerts: Notify the user when they have been sitting for too long and encourage them to move or take a short walk. Goal progress: Send notifications when the user reaches a milestone or is close to achieving their daily activity or sleep goals. Personalized recommendations: Offer tailored suggestions based on the user's data, such as tips for stress reduction, improving sleep habits, or increasing daily activity. Challenges and rewards: Create challenges that encourage users to meet their goals and send notifications to keep them motivated. Offer virtual rewards for completing challenges. Hydration reminders: Prompt users to drink water throughout the day to maintain proper hydration. Breathing exercises: Guide users through short breathing exercises to help reduce stress and improve focus, sending reminders to practice mindfulness. Battery level: Notify users when the ring's battery is running low and needs to be charged. Weekly and monthly reports: Provide comprehensive summaries of the user's health metrics, highlighting progress and areas for improvement. Integration with other apps: If the Blueberry Ring integrates with other health apps, send notifications about syncing data or new insights generated from combined data sources. Bedtime reminders: Help users maintain a consistent sleep schedule by sending bedtime reminders based on their sleep goals and wake-up times. Remember to allow users to customize their notification preferences, as some may prefer fewer notifications while others may want more frequent updates. Strike a balance between providing valuable insights and avoiding notification fatigue.

You requested another response from @Gemini-1.5-Pro Bot image for Gemini-1.5-Pro Gemini-1.5-Pro

Poe Blueberry Ring Notification Strategy: Boosting App Engagement It's exciting you're developing a ring like Blueberry Ring to compete with Oura Ring! A well-designed notification system is crucial for engagement. Here's a breakdown of notification categories and examples, keeping in mind user customization and avoiding notification fatigue:

I. Onboarding & Education:

Welcome & Setup: "Welcome to Blueberry Ring! Let's personalize your experience." (Immediately upon first app open) "Customize your daily readiness score - tell us what matters most!" (Prompt to complete profile) Feature Discovery: "Did you know Blueberry Ring tracks your sleep cycles? Tap to learn more." (Introduce key features gradually) "Unlock the power of personalized insights! Connect with Apple Health." (Encourage integration) Progress & Milestones: "Congrats on hitting your sleep goal 3 nights in a row! Keep it up." (Positive reinforcement) "You've been wearing your Blueberry Ring for a week! Explore your personalized trends." (Encourage deeper engagement) II. Timely & Actionable Insights:

Readiness & Activity: "Your readiness is high today! It's a great time for that intense workout." (Contextual suggestions) "You've been inactive for a while. Need some movement inspiration?" (Gentle nudges) Sleep & Recovery: "Last night's sleep score was 85! View your sleep stages and insights." (Summarize key data) "Your resting heart rate is lower than usual. This could indicate positive recovery." (Highlight positive trends) Personalized Recommendations: "Based on your sleep data, consider adjusting your bedtime by 15 minutes." (Data-driven advice) "Feeling stressed? Your Blueberry Ring detected elevated heart rate. Try a guided breathing exercise." (Proactive suggestions) III. Engagement & Motivation:

Challenges & Goals: "Join the 7-day sleep challenge and improve your sleep quality!" (Gamified experience) "You're close to reaching your activity goal for the week. Keep pushing!" (Progress updates) Social & Community: (Optional, depending on app features) "A friend just joined the Blueberry Ring community! Connect and compare your progress." "Share your latest achievement on social media and inspire others!" Content & Tips: "New blog post: 5 ways to optimize your sleep with Blueberry Ring." (Drive traffic to valuable content) "Did you know? [Interesting fact related to sleep, activity, or recovery]." (Share bite-sized knowledge) IV. Technical & Administrative:

Low Battery: "Your Blueberry Ring's battery is low. Please charge soon to avoid data gaps." Data Sync Issues: "We're having trouble syncing your data. Please check your Bluetooth connection." Updates & New Features: "A new Blueberry Ring update is available! Enjoy improved accuracy and new features." Key Considerations:

Customization: Allow users to choose notification types, frequency, and delivery times. Smart Scheduling: Avoid sending notifications during sleep or at inconvenient hours. A/B Testing: Experiment with different notification styles and content to optimize engagement. Value Proposition: Ensure notifications provide clear value and actionable insights, not just noise. By focusing on personalization, relevance, and timely delivery, your Blueberry Ring app can leverage notifications to enhance the user experience and drive meaningful engagement.

You requested another response from @Mistral-Large Bot image for Mistral-Large Mistral-Large

Poe

Ouraring is a wearable device that tracks sleep, activity, and physiological data such as heart rate and heart rate variability. It is designed to be worn on the finger and can connect to a mobile app to provide users with insights and personalized recommendations based on their data.

To design a notification list for better app engagement for your blueberry ring, you may want to consider including the following types of notifications:

Sleep reminders: Notify users when it's time to go to bed based on their sleep goals and sleep patterns. Activity reminders: Encourage users to move more throughout the day by sending notifications when they have been inactive for a long period of time. Progress updates: Provide users with regular updates on their progress towards their sleep and activity goals. Insights and recommendations: Use the data collected by the blueberry ring to provide users with personalized insights and recommendations for improving their sleep and overall health. Battery reminders: Notify users when the battery on their blueberry ring is running low and needs to be charged. Achievement notifications: Celebrate users' progress and accomplishments by sending notifications when they reach certain milestones or achieve their goals. Social notifications: Allow users to connect with friends and family who also use the blueberry ring and receive notifications when they reach their goals or complete challenges. By including a variety of notifications that are relevant and useful to users, you can help increase engagement with the app and encourage users to continue using the blueberry ring to track their sleep and activity.


Another important section is current connected ring. We should only allow 2 rings to be connected to Moonchain wallet

reasje commented 1 month ago

@SanghamitraBhowmick1993 I have removed date specific logic, Expected behaviors :

  1. Activity reminder : If the last data's steps are below 5000
  2. Sleep insight : Shouldn't have correct analysis, So getting notifications for this is not important
  3. Heart alert : If the last data's heart rate is above or equal to 100
  4. Low battery : If below 20
SanghamitraBhowmick1993 commented 1 month ago

@reasje How does the notification system work? Since we sync only once, if the steps are less than 5k, when will the notification be sent—only during sync/claim?

How will the notification trigger? Will it only activate when the sync/claim button is clicked, or is there a background process running? I believe my battery is below 20%, but I did not receive a notification (when i had the notifications toggled ON)

image image
reasje commented 1 month ago

@SanghamitraBhowmick1993 We have nothing to do with the sync, If you turn on the BH notifications then when the time comes (Frequency) I will connect with your ring and check the data.

reasje commented 1 month ago

@SanghamitraBhowmick1993 You should get It If the battery is below 20 (not equal). If you are sure It's below that level then plz share the log file.

reasje commented 1 month ago

Dev log : I got two notifications after enabling the BG service, But two notifications got fired when i opened the app After that forcing BG service for execution shows a error and doesn't get executed, error :

, Request Data { Method.GET, https://raw.githubusercontent.com/MXCzkEVM/MEP-1759-DApp-store/main/dapp_store/geneva-swap.json, {accept: application/json, content-type: text/plain; charset=utf-8}, {rad: [1721827560135001]},  } }  
 2024-07-24 16:56:07   LogLevel.INFO      collectLog   ══╡ EXCEPTION CAUGHT BY SERVICES LIBRARY ╞══════════════════════════════════════════════════════════  
 2024-07-24 16:56:07   LogLevel.INFO      collectLog   The following PlatformException was thrown while activating platform stream on channel  
 2024-07-24 16:56:07   LogLevel.INFO      collectLog   flutter.baseflow.com/geolocator_service_updates_android:  
 2024-07-24 16:56:07   LogLevel.INFO      collectLog   PlatformException(error, com.mxc.axswallet: One of RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED should  
 2024-07-24 16:56:07   LogLevel.INFO      collectLog   be specified when a receiver isn't being registered exclusively for system broadcasts, null, null)  
 2024-07-24 16:56:07   LogLevel.INFO      collectLog     
 2024-07-24 16:56:07   LogLevel.INFO      collectLog   When the exception was thrown, this was the stack:  
 2024-07-24 16:56:07   LogLevel.INFO      collectLog   #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:653:7)  
 2024-07-24 16:56:07   LogLevel.INFO      collectLog   #1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:315:18)  
 2024-07-24 16:56:07   LogLevel.INFO      collectLog   <asynchronous suspension>  
 2024-07-24 16:56:07   LogLevel.INFO      collectLog   #2      EventChannel.receiveBroadcastStream.<anonymous closure> (package:flutter/src/services/platform_channel.dart:662:9)  
 2024-07-24 16:56:07   LogLevel.INFO      collectLog   <asynchronous suspension>  
 2024-07-24 16:56:07   LogLevel.INFO      collectLog   ════════════════════════════════════════════════════════════════════════════════════════════════════  
 2024-07-24 16:56:07   LogLevel.ERROR      reportErrorAndLog   PlatformException(error, com.mxc.axswallet: One of RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED should be specified when a receiver isn't being registered exclusively for system broadcasts, null, null) #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:653:7)
#1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:315:18)
<asynchronous suspension>
#2      EventChannel.receiveBroadcastStream.<anonymous closure> (package:flutter/src/services/platform_channel.dart:662:9)
<asynchronous suspension>
   PlatformException(error, com.mxc.axswallet: One of RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED should be specified when a receiver isn't being registered exclusively for system broadcasts, null, null)  

 2024-07-24 17:00:43   LogLevel.INFO      collectLog   Deleted 2 logs  
 2024-07-24 17:04:26   LogLevel.INFO      collectLog   Exported logs successfully  
reasje commented 1 month ago

Dev log: So far I can say that there is a change in Android 14 but the related package seems to be missing the update.

reasje commented 1 month ago

Dev log: Android 11 on emulator is OK My phone and Sang's phone with Android 14 are experiencing the issue.

reasje commented 1 month ago

Dev log: Android 12 emulator is OK too

reasje commented 1 month ago

Dev log: The not working version, Works for me and Sang.

My research result shows possible approaches :

  1. Package upgrade : Saw new updates one specifically related to Android update but this required the Flutter to be udpated (Which is going to be time consuming) and not sure If that fixes the problems
  2. Package config update : Add new configuration and test those,
  3. Android 14 changes : Checked the BG service changes for Android 14, some applied and some should be applied on package side.
  4. Debugging and detecting the intermittent cause ✅ Currently working on