React Native FAQs
Setup Questions
Q: Which React Native versions are supported?
Yodo1 MAS supports React Native 0.63 and above.
Q: How do I resolve linking issues?
For manual linking, ensure:
- Native modules are properly linked
- Pod installation is complete for iOS
- Gradle configuration is correct for Android
- Run
react-native link
if needed
Implementation Questions
Q: How do I implement ad events properly?
Use the event listeners as follows:
import Yodo1MAS from 'react-native-mas';
// Add listeners
Yodo1MAS.addEventListener('onRewardedAdLoaded', () => {
console.log('Rewarded ad loaded');
});
Yodo1MAS.addEventListener('onRewardedAdEarned', () => {
console.log('Reward earned');
});
Q: How do I handle ad loading states?
Implement loading state management:
const [isAdLoading, setIsAdLoading] = useState(false);
useEffect(() => {
Yodo1MAS.addEventListener('onRewardedAdLoaded', () => {
setIsAdLoading(false);
});
}, []);
Common Issues
Q: How do I resolve platform-specific build issues?
Common solutions include:
For Android:
- Check Gradle configuration and permissions
- Verify ProGuard settings if enabled
- Ensure proper Android Manifest setup
For iOS:
- Verify Pod installation and framework dependencies
- Check Info.plist configurations
- Ensure proper ATT implementation for iOS 14+
Q: How do I implement proper ad lifecycle management?
Best practices include:
- Clean up event listeners in component unmount
- Handle component lifecycle properly
- Implement proper error handling
useEffect(() => {
// Add listeners
const rewardedListener = Yodo1MAS.addEventListener('onRewardedAdLoaded', handleReward);
// Cleanup
return () => {
rewardedListener.remove();
};
}, []);
Q: How do I debug ad loading issues?
Common debugging steps:
- Enable verbose logging in development
- Verify test mode is enabled in dashboard
- Check device ID is added for testing
- Verify ad placements are properly configured
- Check network connectivity and permissions